PHP MongoDB查找数组ne值中的第一项

时间:2012-07-03 18:00:54

标签: php mongodb

我有一个包含如下文档的集合:

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

然后两者都返回空白。

1 个答案:

答案 0 :(得分:2)

试试这个:

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

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

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