0

次のようなドキュメントを含むコレクションがあります。

{
 "name" : "some",
 "items" : [
      {"_id" : 0,
       "name" : "item name"},
      {"_id" : 2,
       "name" : "item name"},
      {"_id" : 0,
       "name" : "item name"}
  ]
}

items の最初のインデックスの _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 に答える