我是MongoDb的新手,但我陷入了此查询中,我想检索所有具有较小尺寸的行
{
"_id":ObjectId("562e7c594c12942f08fe4192"),
"sizes":["small","medium","large"]
},
{
"_id":ObjectId("562e7c594c22942f08fe4193"),
"sizes":["small"]
},
{
"_id":ObjectId("562e7c594c12942f08fe4199"),
"sizes":["medium","large"]
},
我希望所有具有较小尺寸的行可用,即
{
"_id":ObjectId("562e7c594c12942f08fe4192"),
"sizes":["small","medium","large"]
},
{
"_id":ObjectId("562e7c594c22942f08fe4193"),
"sizes":["small"]
},
我不知道您已经尝试了哪些命令,但是,也许可以尝试使用此命令:
myCursor = db.inventory.find( { 'sizes': "small" } )
由于这只会显示前20个文档,因此可以放置一个循环:
while (myCursor.hasNext()) {
print(tojson(myCursor.next()));
}
您需要使用$elemMatch
xxx.find(
{ sizes: { $elemMatch: { $eq:"small" } } }
)
https://docs.mongodb.com/manual/reference/operator/query/elemMatch/