У меня есть проблемы с Mongoose, и я хочу, чтобы обновить документ в MongoDB используя модуль мангуст, это моя схема:
var User = new mongoose.Schema({
name: String,
email: String,
list_houses: [{
id_house: String,
price: Double
}],
...
});
Когда я хочу, чтобы добавить значение «id_house» без повторения, используя код, приведенный ниже, это не работает
User.update({'name': Name},
{$addToSet: {'list_houses': { 'id_house': new_houses , 'price': new_prices } } } ,
if(err)console.log(err);
console.log(result);
});
Когда я выполняю это, результат BD является:
>db.users.find().pretty()
{
"__v" : 0,
"_id" : qweqweqweqweqweqwe,
"email" : [email protected],
"name" : Richard Smith,
"list_houses" : [ ],
.....
}
Я тоже использовал $ push, но ни он не работает, я не знаю, в чем проблема с моим кодом сейчас.
пару вещей. У вас нет поля 'name' в найденной коллекции, поэтому обновление не происходит. Другое дело, что вы используете неправильную метку 'id_houses' vs' id_house' для встроенных документов. – Veeram
Спасибо, человек! Это был пример, но знаете ли вы, как решить мою проблему? – CopitoDeNieve97
вместо обратного вызова вы непосредственно написали две строки. Это может вызвать проблемы. Вы используете тот же самый точный фрагмент кода? –