вложенные запросы mongoose .find - PullRequest
0 голосов
/ 09 мая 2018

Привет! У меня проблема с выполнением вложенного запроса, который сопоставляет значение уникальному ключу.

Моя схема выглядит следующим образом:

const AnalyticsSchema = mongoose.Schema({
    requestsByStatusNew: Number,
    requestsByStatusNewIds: Schema.Types.Mixed,
})

ГдеquesbyStatusNewIds имеет форму:

{
  UNIQUE_ID: 1,
  ANOTHER_UNIQUE_ID: 1
}

Я хотел бы найти и вернуть объект в своей коллекции, где запрос соответствует одному из вложенных уникальных идентификаторов.Возможно ли это?

Вот что я пытался сделать:

const query = {
    requestsByStatusNewIds: {
    }
};

query['requestsByStatusNewIds'][`${request._id}`] = 1;

Analytics.find(query, '_id').then((err, analytics) => {
  console.log(analytics);
  console.log(err);
});

1 Ответ

0 голосов
/ 10 мая 2018

Похоже, вам нужно условие or для UNIQUE_ID и ANOTHER_UNIQUE_ID

db.collection.find({
    "$or": [{
        "requestsByStatusNewIds.UNIQUE_ID": "ID"
    }, {
        "requestsByStatusNewIds.ANOTHER_UNIQUE_ID": "ID"
    }]
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...