#node.js #mongodb #mongoose
#node.js #mongodb #мангуст
Вопрос:
У меня есть коллекция mongodb со следующей схемой
const userSchema = new mongoose.Schema({
Nickname: String,
Age: String,
Playlists: Array
});
Я обновлял список воспроизведения с помощью приведенного ниже запроса, и он работает, но я понимаю, что он не проверяет, существует ли запись в коллекции, прежде чем обновлять ее. Следовательно, у меня есть дубликаты, если запрос выполняется дважды. Есть идеи, как я могу изменить его, чтобы предотвратить дублирование?
User.updateOne({
_id: req.user._id
}, {
$push: {
Playlists: req.body
}
}).then(data => {
res.redirect("/home")
});
Ответ №1:
В вашем случае, чтобы предотвратить дублирование в вашем Playlists
массиве, вы можете использовать $addToSet вместо $push
. Что-то вроде:
User.updateOne({
_id: req.user._id
}, {
$addToSet: {
Playlists: req.body
}
})