【发布时间】:2014-03-09 10:19:15
【问题描述】:
我正在尝试检索满足特定条件的文档的子数组列表。
"_id" : "something",
"players" : [
{
"Name" : "Sunny"
"score": 20
},
{
"Name" : "John"
"score" : 40
},
{
"Name" : "Alice"
"score" : 20
},
etc...
]
我想要分数 = 20 的输出,比如
{
"Name" : "Sunny"
"score": 20
},
{
"Name" : "Alice"
"score" : 20
}
但我尝试使用以下方式查询:
db.collection.find(
{ "players.score":20, "_id":"something" },
{ "players" :1 }
)
但它给了我所有 3 个子数组,比如
{
"Name" : "Sunny"
"score": 20
},
{
"Name" : "John"
"score" : 40
},
{
"Name" : "Alice"
"score" : 20
}
如果我使用投影仪 "$" 或 $matchelement 比如:
db.collection.find({ "players.$.score":20, "_id":"something" }
它给出了第一个数组示例
{
"Name" : "Sunny"
"score": 20
}
谁能帮我正确查询这个。 在此先感谢:)
【问题讨论】:
标签: php mongodb mongodb-query aggregation-framework