我们如何使用mongoDB的节点js查询从数组中获取所选元素

时间:2016-09-07 11:14:29

标签: javascript arrays node.js mongodb

我通过应用存储在MONGODB中的查询来获取数组结果。我试图获取分数:1的问题仅限 我正在尝试{'quiz.score':1}或{quiz:{$ eq:{score:1}}},但它会返回所有得分为0和1的questionId

这是节点js代码

function(){

               childQuizInfo.find({quiz:{$eq:{score:1}}},function(err,question){
               if(err) return next(err);
               res.send(question);
                });
               }

这是问题ID架构

quiz: {type: Array,
    questionId: {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'Question',
            index: true
             },
    score: { type: Number },
    time: { type: String }
    }

这是存储在mongodb

中的结果
"quiz" : [
    {
        "time" : "2016-09-07T08:04:30.316Z",
        "score" : 1,
        "questionId" : "57ce608e2a0d6cad8c48ef8f"
    },
    {
        "time" : "2016-09-07T08:06:35.399Z",
        "score" : 0,
        "questionId" : "57ce608e2a0d6cad8c48ef90"
    },
    {
        "time" : "2016-09-07T08:06:49.296Z",
        "score" : 1,
        "questionId" : "57ce608e2a0d6cad8c48ef91"
    },
    {
        "time" : "2016-09-07T08:06:56.699Z",
        "score" : 0,
        "questionId" : "57ce608e2a0d6cad8c48ef92"
    },
    {
        "time" : "2016-09-07T08:07:00.660Z",
        "score" : 1,
        "questionId" : "57ce608e2a0d6cad8c48ef93"
    }

我需要一个查询,以便它只返回questionId,得分为1。

我得到的输出

   {
   "message": "unknown top level operator: $eq"
    }

0 个答案:

没有答案