Meteor多个字段查询

时间:2016-10-04 14:30:15

标签: javascript mongodb meteor

我有一个Calendar集合,其中包含各种日历文档,但其中一些属性具有不同的值:

DOC1

{
    "_id" : 1.0,
    "createdAt" : ISODate("2016-07-04T07:01:40.158Z"),
    "usuarios_admin_ids" : [ 
        "Ys6fiychXcSfCgWox"
    ],
    "title" : "yyyyy",
    "state" : "public",
    "fechaModificacion" : "2016-10-15 08:00:00",
    "master_ids" : [ 
        "null"
    ]
}

DOC2

{
    "_id" : 3.0,
    "createdAt" : ISODate("2016-07-04T07:01:40.158Z"),
    "usuarios_admin_ids" : [ 
        "Ys6fiychXcSfCgWox"
    ],
    "title" : "xxxxxx",
    "state" : "public",
    "fechaModificacion" : "2016-10-12 08:00:00",
    "master_ids" : [ 
        1
    ]
}

我在实现一个可以获取此信息的查询时遇到问题:

  

“包含Title = yyyy的文档和包含masters_id = 1的文档。”

这应该返回上面的两个文档,因为master_ids中的doc2指向_id的{​​{1}},如果doc1没有'存在我不会得到任何结果。

2 个答案:

答案 0 :(得分:0)

尝试将其作为查询过滤器:

{$or: [{title: "yyyy"},{masters_id: 1}]}

答案 1 :(得分:0)

我将添加@asdfJackal答案,这是正确的。

$ in用作“master_ids”是一个数组。

Calendar.find({$or: [{"title": "yyyy"}, {"master_ids": {$in: [1]}}]});