簡體   English   中英

貓鼬:按字段和對象數組中的字段查找文檔

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM