вложенные запросы mongoose .find

1

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

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

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

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

{
  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);
});
  • 0
    Похоже, вам нужно or чтобы найти все документы, где идентификатор равен Unique/anotherUnique ?
  • 0
    @GeorgeBailey GeorgeBailey, как это делается в мангусте? .find ({quesByStatusNewIds: {$ or: {UNIQUE_ID: 1}}})?
Теги:
mongoose

1 ответ

0

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

db.collection.find({
    "$or": [{
        "requestsByStatusNewIds.UNIQUE_ID": "ID"
    }, {
        "requestsByStatusNewIds.ANOTHER_UNIQUE_ID": "ID"
    }]
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню