我有一个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
没有'存在我不会得到任何结果。
答案 0 :(得分:0)
尝试将其作为查询过滤器:
{$or: [{title: "yyyy"},{masters_id: 1}]}
答案 1 :(得分:0)
我将添加@asdfJackal答案,这是正确的。
$ in用作“master_ids”是一个数组。
Calendar.find({$or: [{"title": "yyyy"}, {"master_ids": {$in: [1]}}]});