私は私のクエリがある場合MongoDBの中でオブジェクト配列から項目を取得する方法を
"example": [
{
"exId": "57f24ee56da92f9c19b0efd4",
"_id": "57f4cfa93eb5c694041fdf4c",
"projects": [
"57f4cfa83eb5c694041fdf45"
]
},
{
"exId" : "57f24ec16da92f9c19b0efcd",
"_id" : ObjectId("580864867a36f5bc1058c2c8"),
"projects" : [
"580864837a36f5bc1058c2a9",
"57f4c1303eb5c694041fdec6"
]
}
]
}
として出力を取得する必要があります
{ "_id" : "57f4c1323eb5c694041ghea3",
"example" : [
{
"exId" : "57f4c0d43eb5c694041fdebd",
"_id" : ObjectId("57f4c1323eb5c694041fded2"),
"projects" : [
"57f4c1303eb5c694041fdec6"
]
},
{
"exId" : "57f24ee56da92f9c19b0efd4",
"_id" : ObjectId("57f4cfa93eb5c694041fdf4c"),
"projects" : [
"57f4cfa83eb5c694041fdf45"
]
},
{
"exId" : "57f24ec16da92f9c19b0efcd",
"_id" : ObjectId("580864867a36f5bc1058c2c8"),
"projects" : [
"580864837a36f5bc1058c2a9",
"57f4c1303eb5c694041fdec6"
]
}
],
ように私のデシベルのコレクションがある
db.userDb.findOne({ '_id': req.params.userId }, { example: { $elemMatch: { exId: { $in: accIds } } } })
とaccIdsは配列に値 "57f24ec16da92f9c19b0efcd"、 "57f24ee56da92f9c19b0efd4"、 " 57f24fa26da92f9c19b0f005"
が、私の出力に含まは
"example": [
{
"exId": "57f24ee56da92f9c19b0efd4",
"_id": "57f4cfa93eb5c694041fdf4c",
"projects": [
"57f4cfa83eb5c694041fdf45"
]
}
である]、
任意のヘルプが
'acc'の配列名は 'accIds'です – arunraj414
コメントではなく質問を編集 – Alex
'example'は一番上の要素ですか?もしそうなら、 'findOne'が正確に1つの結果を得る理由かもしれません。 – Smutje