我在db中有文章,我需要为每个日期获取slu。
"eventDate" : {
"day" : "21",
"month" : "04"
},
"slug": "some-slug"
...
作为和输入我有[{day: '01', month: '02'}, {day: '02', month: '02'}]
,我需要获得与此匹配的所有文章。
我做了这样的事情:
.find({'eventDate': { $in: myArrayOfObjects}}, {slug: 1})
如何正确使用?
答案 0 :(得分:2)
请勿使用 $in
来搜索对象。在这种情况下,您应该使用 $or
:
db.collection.find({
"$or": [
{
"eventDate.day": "01",
"eventDate.month": "02"
},
{
"eventDate.day": "02",
"eventDate.month": "02"
}
]
},
{
"slug": 1
})
你可以在这里试试:mongoplayground.net/p/olTwcwGuuFi