我想查询一个用户集合与多个嵌套对象,我不知道如何正确使用投影操作符(例如$),因为他们似乎为数组而不是对象工作。在MongoDB中查询嵌套对象
每个用户都有一个“booksRecords”对象,具有多个书对象(例如hc_1_3,hc_1_4等)。每个图书对象都有一个名为currLevel的字段,我试图找到至少有一个图书对象currLevel:'nursery'的孩子。
我试过 User.find({'booksRecords。$。currLevel':'nursery'}),但这似乎并没有工作,我想知道什么是正确的方式来查询嵌套的对象?
我检查了Querying nested in mongoDB,但它与我的情况不同,因为我在查询嵌套对象。
[
//first object
{
_id: "xxx",
booksRecords: {
hc_1_3: {
markedRead: false,
currLevel: "elementary"
},
hc_1_2: {
markedRead: false,
currLevel: "elementary"
}
}
},
//second object
{
_id: "xyz",
booksRecords: {
hc_1_3: {
markedRead: false,
currLevel: "elementary"
},
hc_1_2: {
markedRead: false,
currLevel: "nursery"
}
}
}
]