我有一个包含如下文档的集合:
{
"name" : "some",
"items" : [
{"_id" : 0,
"name" : "item name"},
{"_id" : 2,
"name" : "item name"},
{"_id" : 0,
"name" : "item name"}
]
}
我想选择项目中第一个索引的_id等于0的所有文档。
任何想法如何做到这一点?
谢谢!
编辑:
我试过这个:
$items->find(array('items' => array('_id' => array('$ne' => 0))));
和
$items->find(array('items[0]' => array('_id' => array('$ne' => 0))));
然后两者都返回空白。
答案 0 :(得分:2)
试试这个:
db.items.find({'items.0._id': {$ne: 0}})
这将选择子阵列中第一个元素_id 不等于为0的所有文档。如果要查找等于,请使用以下更简单的形式:
db.items.find({'items.0._id': 0})