0

mongodb の新しいリリースで次のことを行う方法はありますか。

  1. サブドキュメントまたはドキュメント内の配列内のオブジェクトを選択し、親ドキュメントを取得しない、
  2. 次に実行して、今度はメモリ内でアイテム/サブドキュメントを再度検索します。

ユーザー ドキュメントの中にアイテムのリストがあり、そのうちの 1 つの価格が 50 ドルを超えているとします。
このアイテムだけが必要で、ユーザー ドキュメントを取得せずに、特定のアイテムを再度検索します。

次のリリースで可能になる可能性があると読みましたが、見つかりませんでした。ありがとう !

4

2 に答える 2

0

$elemMatch を使用できます。http://docs.mongodb.org/manual/reference/operator/projection/elemMatch/を参照してください。

したがって、あなたの場合は次のようになります。

db.users.insert({"items": [ {"name":"A1", "price":10}, {"name":"B1", "price":20}]})
db.users. insert({"アイテム": [ {"名前":"A2", "価格":40}, {"名前":"B2", "価格":60}]})

db.users.find({"items": {$elemMatch:{price:{$gt:30}}}})
{ "_id" : ObjectId("53e0c750e47ff836d16c66f4"), "items" : [ { "name" : "A2", "価格" : 40 }, { "名前" : "B2", "価格" : 60 } ] }

于 2014-08-05T12:04:39.880 に答える