#mongodb #mongoose
#mongodb #мангуст
Вопрос:
Почему я использую mongoose.
У меня есть этот запрос, который вставляет около 30 элементов в мою базу данных:
await Code.insertMany(information);
Информация выглядит следующим образом:
[
{
discount: 20,
url: '...',
code: "...",
sponsorUrl: "...",
sponsorAccount: "..."
},
]
url
Он уникален. Я хочу снова добавить 30 элементов в базу данных, но может случиться так, что 10 элементов из 30 уже сохранены в базе данных
Как я могу этого добиться? Я мог бы зациклить его, но есть ли лучшее решение?
Я не хочу иметь дублированные URL-адреса
Ответ №1:
Параметр upsert = true создает объект, если URL-адрес еще не существует в документе в коллекции.
for (var i of information){
Code.update(
{'url' : i.url },
{$set : i},
{upsert : true, multi : true},
function(err, doc){
if(err) throw err;
console.log(doc);
}
)
}