Mongodb使用where来查找字段是否存在

时间:2013-04-25 01:30:37

标签: php mongodb

基本上可以使用$ in查找基于子文档的文档。比如说我有:

array(
'item.1',
'item.2',
'item.3
)

将返回包含以下内容的文档:

{
    item {
        1: {

        }
    }
}
{
    item {
        2: {

        }
    }
}
{
    item {
        3: {

        }
    }
}

我知道如果我有一个我可以使用db.inventory.find( { qty: { $exists: true, $nin: [ 5, 15 ] } } ),但我怎么能用$ in?

1 个答案:

答案 0 :(得分:3)

您可以使用此表单的查询:

db.collection.find ( { $or : [
          {"item.1":{$exists:true}},
          {"item.2":{$exists:true}},
          {"item.3":{$exists:true}}
] } );

这将返回任何包含一个或多个“item.X”的文档,在这种情况下为1,2或3集。