1

mongoDB でこのクエリを作成するにはどうすればよいですか?

{

_id: "********"

コンテンツ: ""、

コメント: [

{

key1: "1",

key2: "2"

}、

{

key1: "sdfs",

key2: "sdfasdf"

}

]

}

たとえば、以下のようなデータを使用します。条件 {key1: 1, key2: 2} のコメント内のアイテムをクエリし、レコード全体を返したくない。

私は何をすべきか?

4

2 に答える 2

3

あなたはこれを試すことができます

{ "comments.key1" : "1", "comments.key2" : "sdfasdf" }

これを使用する必要があるのは、配列要素で複数のフィールドを一致させる必要がある場合のみです。

于 2012-06-26T08:24:17.587 に答える
1

次を使用して、2 つのフィールドでサブドキュメントをクエリできます$elemMatch

{ comments: { $elemMatch : { key1: 1, key2: 2 } } }

選択したサブ文書だけを返すことはできません。あなたはそれらすべてを手に入れるでしょう。そのため、クライアント側でフィルタリングする必要があります。(もちろん、メイン ドキュメントの他のすべてのフィールドを除外することもできます)。

于 2012-06-26T02:09:23.673 に答える