Node.js Mongoose-查找匹配的数组值

Node.js Mongoose-查找匹配的数组值,node.js,mongodb,rest,api,mongoose,Node.js,Mongodb,Rest,Api,Mongoose,我正在使用Node.js创建一个RESTAPI,使用Mongoose访问后端MongoDB数据库。我的一个集合(也是变体)中有一个数组(变体),需要检索数组中与提供的值匹配的对象 到目前为止,我得到了一个返回空值的结果 //Get variation by ID app.get('/v1/:id', async (request, response) => { try { var result = await variationsModel.find({ 'vari

我正在使用Node.js创建一个RESTAPI,使用Mongoose访问后端MongoDB数据库。我的一个集合(也是变体)中有一个数组(变体),需要检索数组中与提供的值匹配的对象

到目前为止,我得到了一个返回空值的结果

//Get variation by ID
app.get('/v1/:id', async (request, response) => {
    try {
        var result = await variationsModel.find({ 'variationID': request.params.id }).exec();
        response.send(result);
    } catch (error) {
        response.status(500).send(error);
    }
})
这是我在API中定义的模型

const variationsModel = mongoose.model("variations", {
    "variations": [
        {
        "variationID": String,
        "custID": String,
        "projID": String,
        "variationTitle": String,
        "variationDesc": String,
        "variationStatus": String,
        "variationChargeable": String,
        "variationCost": String,
        "requireMaterial": String,
        "variationRequestor": String,
        "variationCreationDate": String,
        "variationImages": [
            {
            "imageId": String
            }
        ],
        "variationCategory": String
        }
    ]
});
有人给我指出正确的方向吗

谢谢

查询应该是

variationsModel.find({ 'variations.variationID': request.params.id }).exec();

当然是!谢谢你的帮助!