PHP MongoDB 查找数组 ne 值中的第一个项目的位置


PHP MongoDB find where first item in array ne value

>我有一个集合,其中包含这样的文档:

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

但是,两者都返回为空。

试试这个:

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

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

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