Функция mongoose find () не возвращает весь объект, пропускает пустое поле - PullRequest
0 голосов
/ 19 марта 2019

Я использую mongoose find (), чтобы найти определенный атрибут, который просматривает различные атрибуты, например,

 exports.isPhoneAlreadyExists = (req, res) => {

  var searchedPhone = req.params.phone;

 var searchOnPhoneWithOr = [{ 'phone1': searchedPhone }, { 'phone2': searchedPhone }, { 'phone3': searchedPhone }, { 'phone4': searchedPhone }, { 'phone5': searchedPhone }];
  contact.find({ $or: searchOnPhoneWithOr }, {}, function (err, resp) {
    if (err) {

        res.send(err);
    }

    res.json(resp);
});
};

он не возвращает мне весь объект, он возвращает только те атрибуты, которые не пусты, я хочу получить весь объект вместе с пустыми атрибутами.

1 Ответ

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

MongoDB по умолчанию не сохраняет пустые объекты в БД.Чтобы избежать такого поведения, вы можете установить флаг «минимизации» в опции сбора на «ложь».

Я не совсем уверен, относится ли это также к «примитивным» значениям, таким как строки или числа, но если выработать только с объектами, у вас все должно быть в порядке.

Проверьте это для получения дополнительной информации: https://mongoosejs.com/docs/guide.html#minimize

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...