#mongoose
#mongoose
Вопрос:
Я использую 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:
MongoDB по умолчанию не сохраняет пустые объекты в БД. Чтобы избежать такого поведения, вы можете установить флаг «минимизировать» в опции сбора на «false».
Я не совсем уверен, применимо ли это также к «примитивным» значениям, таким как строки или числа, но если вы работаете только с объектами, у вас все должно быть в порядке.
Проверьте это для получения дополнительной информации: https://mongoosejs.com/docs/guide.html#minimize