如何在猫鼬中使用ID变量数组查询find()?

时间:2019-09-22 18:45:36

标签: arrays node.js mongodb mongoose

我有一个数组p_id,其中保存着名为“ Panel”的架构的ObjectId。现在,我想从“候选”模式中找到与parentPanel数组中存在的id p_id相同的候选对象。

这是candidateSchema

var candidateSchema = new Schema ({
    name: {
        type: String,
        required: true,
    },
    votedBy: [{
        type: Schema.Types.ObjectId,
        ref: 'User',
        default: null,
    }],
    parentPanel: {
        type: Schema.Types.ObjectId,
        ref: 'Panel'
    }
});

我尝试过类似的事情

Candidate.find({parentPanel: {$in: [p_id]})
         .then(candidates => {
               res.send(candidates)
         })
         .catch(err=>console.log(err));

这是我得到的错误:

  

消息:“对值“ [   5d8734d2bf53280d76a3915a,'+       '5d8734d2bf53280d76a3915e]“在模型“ +”的路径“ parentPanel”处       '“候选”',名称:'CastError',字符串值:'“ [5d8734d2bf53280d76a3915a,5d8734d2bf53280d76a3915e]”,类型:   'ObjectId',值:[5d8734d2bf53280d76a3915a,   5d8734d2bf53280d76a3915e],路径:“ parentPanel”,原因:   未定义,型号:型号{候选}

0 个答案:

没有答案