私はmongodbの集約の概念が比較的新しいです。私の文書には配列があります。私は$ match、$ unwind、$ groupを使って配列内に2つの指定された値を持つドキュメントを取得しようとしました。私は、ライトアップが...ここにサンプルが文書の2つの配列要素に基づいて文書を返す方法はありますか?
文書で支援していないと思います。と「件名[ "物理学:これらの文書から
{Name:"Kal", Class: "2", Subject: ["Physics", "English", "Maths"]},
{Name:"Matt", Class: "1", Subject: ["Physics", "English"]},
{Name:"Kim", Class: "1", Subject: ["Physics", "Spanish"]},
{Name:"Bud", Class: "2", Subject: ["Physics", "German"]},
{Name:"Roger", Class: "2", Subject: ["Physics", "French"]},
{Name:"Kate", Class: "1", Subject: ["English"]}
を、私は「1級」を持つ文書をプルする必要があります"、" English "] '
私は自分のクエリ(または集約)を正しく書いているので、上から2番目のドキュメントを取り出す必要があります。ここで
は私が
db.Student.aggregate([{"$match": {"Class": "1",}},{"$unwind": "$Subject"},{"$match": {"Subject": "Physics"}},{"$match": {"Subject": "English"}} ]).pretty()
だけでなく、上記の凝集が戻って私に何かを取得していないしているので、私は両方の「物理学」と「英語」を組み合わせるために$を使用してみましたが、私は「$を得たものですステージオペレータのエラーではありません。
私はこれも集計の下で試しましたが、私は何も得ていません。
db.Student.aggregate([{"$match": {"Class": "1",}},{"$match": {"Subject": ["Physics", "English"]}} ]).pretty()
どうすればいいですか?
ありがとうございます。それは期待どおりに動作します。 – JBone