![](/img/trans.png)
[英]Mongoose: find document by values inside an array field
[英]Mongoose: Find a document by field and field inside an array of objects
我正在創建一個具有以下架構的調查表:
var questionnaireSchema = new Schema({
user_id : String,
start_date : Date,
end_date : Date,
questions : [{
question_id : {type: Number},
answer_id : {type: Number},
answer_string : String
}]
});
我需要成為並找到user_id設置的答案,然后查看該用戶是否已經回答了該問題。
我有以下查詢:
Questionnaire.findOne({'user_id': req.body.uid}, function (err, user) {
if (err) {
throw err;
}
if (user) {
Questionnaire.findOne({
'uid': req.body.uid,
'questions.question_id': req.body.question_id
}, function (err, question) {
if (question) {
console.log('Found a question - updating');
} else {
console.log('No question found - adding');
}
});
}
});
該查詢找到了用戶,但是,當我嘗試同時找到用戶和Question.answer_id時,該查詢永遠找不到任何東西。
我不確定如何編寫此查詢或在哪里查找。
謝謝
question_id
是您架構中的數字。 req.body.question_id
是什么類型?
根據請求的content-type
,它可以是字符串,因此第二個查詢不能匹配任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.