Как искать в объекте с несколькими логическими значениями в Mon goose? - PullRequest
0 голосов
/ 03 февраля 2020

надеюсь, у вас все хорошо.

Ребята Я ищу решение проблемы mon goose, у меня есть поле объекта (скажем, vehicleStatus) в моей коллекции User. Который имеет несколько ключей (все являются логическими значениями). Теперь я хочу выполнить поиск из коллекции пользователей, основанной на этом поле vehicleStatus.

Это моя схема -

vehicleStatus: {
    _id: false,
    twoWheeler: Boolean,
    fourWheeler: Boolean
},

Теперь я ищу пользователя, если у него есть twoWheeler, fourWheeler или оба. Например, допустим, у Джона Доу есть {twoWheeler: true, fourWheeler: false}. Так что будет лучшим подходом к поисковому полю, подобному этому (vahicleStatus), в понедельник goose.

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Теперь я ищу пользователя, если у него есть два колеса, четыре колеса или оба .

User.find({
    $expr: {
        $or: [{
            $eq: ['$vehicleStatus.twoWheeler', true]
        }, {
            $eq: ['$vehicleStatus.fourWheeler', true]
        }]
    }
}).then(console.log).catch(console.log);

Вы можете проверить это здесь пн go детская площадка

0 голосов
/ 03 февраля 2020

Вы можете найти подходящее значение следующим образом:

const users = await User.find({
  'vehicleStatus.twoWheeler': true,
  'vehicleStatus.fourWheeler': true,
});

Вместо true вы также можете указать свою переменную.

...