Mongoose - найти подходящие значения массива - PullRequest
0 голосов
/ 26 марта 2019

Я создаю REST API с Node.js, используя 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
        }
    ]
});

Кто-нибудь указывает мне правильное направление?

Спасибо!

1 Ответ

1 голос
/ 26 марта 2019

Запрос должен быть

variationsModel.find({ 'variations.variationID': request.params.id }).exec();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...