次のようなデータがあります。
{
"_id" : "5227aa5d9881d31cd3aa0e78",
"Message" : "This is a message 5:47 PM",
"IssuedAt" : ISODate("2013-09-04T21:47:09.932Z"),
"Users" : [
{
"_id" : "dhBHuZL9M+hqtKIx14iu",
"IsRead" : true
},
{
"_id" : "SOMSOMOMODJFJDFKJKDJF",
"IsRead" : false
}
]
}
そして、1人のユーザーについて次の情報を取得することを望んでいました:
{
"_id" : "5227aa5d9881d31cd3aa0e78",
"Message" : "This is a message 5:47 PM",
"IssuedAt" : ISODate("2013-09-04T21:47:09.932Z"),
"IsRead" : false
}
私はこれを試しましたが、サブドキュメント全体を含むレコードのみを返します:
db.collection.find({"Users": {$elemMatch: {"_id": 'dhBHuZL9M+hqtKIx14iu'}}}, {"Message": 1, "Users.$.IsRead": 1}).pretty()
集計を使用せずに探しているものを取得する方法はありますか?