基本上可以使用$ in查找基于子文档的文档。比如说我有:
array(
'item.1',
'item.2',
'item.3
)
将返回包含以下内容的文档:
{
item {
1: {
}
}
}
{
item {
2: {
}
}
}
{
item {
3: {
}
}
}
我知道如果我有一个我可以使用db.inventory.find( { qty: { $exists: true, $nin: [ 5, 15 ] } } )
,但我怎么能用$ in?
答案 0 :(得分:3)
您可以使用此表单的查询:
db.collection.find ( { $or : [
{"item.1":{$exists:true}},
{"item.2":{$exists:true}},
{"item.3":{$exists:true}}
] } );
这将返回任何包含一个或多个“item.X”的文档,在这种情况下为1,2或3集。