meteor.js& collection2 - 如何查询子模式

时间:2015-12-14 16:40:37

标签: javascript node.js mongodb meteor meteor-collection2

QUERY

我尝试使用下面的代码查询集合,如建议的here。它适用于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
    }, [...]

我做了什么

  1. 使用Schema.venueAddress.neighbourhood = Sesssion.get('venueLocationVar') - 无效
  2. 更改VenueAddress - > venueAddress - 不起作用
  3. 使用方括号,等于而不是冒号等 - 不起作用

1 个答案:

答案 0 :(得分:2)

你可以尝试做query['venueAddress.neighbourhood'] = someVal我不是肯定的,即minimongo可以使用对象进行搜索

换句话说,您在进行查询时必须使用dot notation