0

我有一个包含这样的文档的集合:

{
 "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))));

然而,两者都返回空。

4

1 回答 1

2

试试这个:

db.items.find({'items.0._id': {$ne: 0}})

这将选择子数组中第一个元素的 _id不等于0 的所有文档。如果要查找等于,请使用以下更简单的形式:

db.items.find({'items.0._id': 0})
于 2012-07-03T19:27:14.363 回答