我是節點js中的新手,我需要查詢我的節點js腳本,以便它從我的MongoDB返回查詢項目。 我在做什麼,我使用特定questionId節點JS這比分是1比內MongoDB的數據存儲在陣列形式應用的查詢, 使查詢將返回唯一的比分的1 questionId沒有進球的0節點js查詢mongodb中的數組項目
{
"_id": "57cfc7b86f0e51ee17d4c512",
"question": [
{
"questionId": "57ce608e2a0d6cad8c48ef8f",
"score": 1,
},
{
"questionId": "57ce608e2a0d6cad8c48ef90",
"score": 0,
},
{
"questionId": "57ce608e2a0d6cad8c48ef91",
"score": 0,
}
]
}
我試過的節點js代碼查詢是 我試過了兩個查詢,但是他們返回所有數組項目 query = {'question.score':1}; query = {'question':{$ eq:{'score':1}}};
function(){
var query = {'question.score':1};
childQuizInfo.findOne(query,function(err,data){
if(err) return next(err);
res.send(data);
});
}
我使用這個查詢,以便它返回迴應只有「questionId」:「57ce608e2a0d6cad8c48ef8f」,但它返回數組中的所有項目。
由於array * question *是文檔的一個字段,您將始終獲取所有內容。你不能用簡單的查詢來實現這一點,而是嘗試使用* agregation * [documentation](https://docs.mongodb.com/manual/aggregation/) –
你可以在[here](http: //stackoverflow.com/questions/3985214/retrieve-only-the-queried-element-in-an-object-array-in-mongodb-collection)。 –