meteor.js & collection2 - 如何查询子模式
meteor.js & collection2 - how to query sub-schema
查询
我正在尝试使用下面的代码查询一个集合,正如建议的那样 。它适用于 venueName 但不适用于 venueLocation - 我猜它一定与它是一个子模式这一事实有关,而且我没有正确编写查询。
var query = {};
if(Session.get('venueNameVar')) {
query.venueName = Session.get('venueNameVar')
}
if(Session.get('venueLocationVar')){
query.venueAddress = {
neighbourhood : Session.get('venueLocationVar')
}
return Venues.find(query);
合集
到目前为止,我的主架构和子架构在整个应用程序中运行良好:
//MAIN SCHEMA
Schema.Venues = new SimpleSchema({
venueAddress: {
type: Schema.VenueAddress,
optional: true
}, [...]
//SUB-SCHEMA
Schema.VenueAddress = new SimpleSchema({
neighbourhood: {
type: String,
max: 100,
optional: true
}, [...]
我尝试了什么
- 使用
Schema.venueAddress.neighbourhood = Sesssion.get('venueLocationVar')
- 不起作用
- 更改 VenueAddress --> venueAddress - 不起作用
- 使用方括号、等号代替冒号等 - 不起作用
你能尝试做吗 query['venueAddress.neighbourhood'] = someVal
我不确定 minimongo 可以使用对象进行搜索
换句话说,你必须在查询时使用dot notation
查询
我正在尝试使用下面的代码查询一个集合,正如建议的那样
var query = {};
if(Session.get('venueNameVar')) {
query.venueName = Session.get('venueNameVar')
}
if(Session.get('venueLocationVar')){
query.venueAddress = {
neighbourhood : Session.get('venueLocationVar')
}
return Venues.find(query);
合集
到目前为止,我的主架构和子架构在整个应用程序中运行良好:
//MAIN SCHEMA
Schema.Venues = new SimpleSchema({
venueAddress: {
type: Schema.VenueAddress,
optional: true
}, [...]
//SUB-SCHEMA
Schema.VenueAddress = new SimpleSchema({
neighbourhood: {
type: String,
max: 100,
optional: true
}, [...]
我尝试了什么
- 使用
Schema.venueAddress.neighbourhood = Sesssion.get('venueLocationVar')
- 不起作用 - 更改 VenueAddress --> venueAddress - 不起作用
- 使用方括号、等号代替冒号等 - 不起作用
你能尝试做吗 query['venueAddress.neighbourhood'] = someVal
我不确定 minimongo 可以使用对象进行搜索
换句话说,你必须在查询时使用dot notation