0

私の問題は次のように説明できます。

次のデータ (mongo マニュアルからコピー) を提供してください。郵便番号が 63109 で、"John" と "Jeff" という名前の 2 人の生徒がいるドキュメントを見つける方法を教えてください。私は試します

db.schools.find( { zipcode: 63109 }, { 生徒: { $elemMatch: { 名前 : {"John", "Jeff"} } } } )

しかし、うまくいきません。私を手伝ってくれますか ?よろしくお願いします

{
 _id: 1,
 zipcode: 63109,
 students: [
              { name: "john", school: 102, age: 10 },
              { name: "jess", school: 102, age: 11 },
              { name: "jeff", school: 108, age: 15 }
           ]
}
{
 _id: 2,
 zipcode: 63110,
 students: [
              { name: "ajax", school: 100, age: 7 },
              { name: "achilles", school: 100, age: 8 },
           ]
}

{
 _id: 3,
 zipcode: 63109,
 students: [
              { name: "ajax", school: 100, age: 7 },
              { name: "achilles", school: 100, age: 8 },
           ]
}

{
 _id: 4,
 zipcode: 63109,
 students: [
              { name: "barney", school: 102, age: 7 },
           ]
}
4

1 に答える 1

2

ここで $elemMatch を使用することはできないと思います

私が見る唯一の解決策は次のとおりです。

db.schools.find( { zipcode: 63109, $and: [{"students.name": "john"}, {"students.name": "jeff"}]} )
于 2013-09-25T22:12:43.583 に答える