-1

このようなコレクション「テストケース」があります。テスト ビルドには多くのテスト ケース ログがあり、テスト ケース ログには多くのタグがあります。たとえば、タグに「tag1」が必要なクエリがあります。

db.test_builds.find({"logs.tags" : "tag1"})

問題は、テスト ビルドのすべてのテスト ケース ログを取得することです。しかし、「tag1」が存在するテスト ケース ログのみが必要でした。

例えば:

{
  "name" : "TestBuild1"
  "logs: [
    {"name" : "Log1"
    "tags" : ["tag1","tag2"]},
    {"name" : "Log2"
    "tags" : ["tag3","tag4"]}
  ]
}

上記のクエリはテスト ビルド全体を返しますが、「Log2」ではなく「Log1」のテスト ビルドのみを取得したいと考えています。これはどのように可能ですか?

4

1 に答える 1

0

MongoDBでは、配列から要素の一部を抽出することはできません。ここで説明されているように、クライアント側でフィルターで除外するか、map/reduceを実行する必要があります

于 2012-06-18T05:40:37.770 に答える