Я пытаюсь удалить все элементы из массива в базе данных MongoDB, затем вставляю все новые элементы массива.
Моя модель:
const mongoose = require('mongoose');
var schema = new mongoose.Schema({
email : {
type : String
},
password : {
type : String
},
stocks : {
type : [String]
}
}, {versionKey:false}, {_id: false});
module.exports = final = mongoose.model('users', schema);
Мой массив акций будет иметь некоторые значения. Я пытаюсь удалить эти значения с помощью следующей команды:
Я читал где-то в переполнении стека, что для очистки массива вы можете делать много вещей, но набор - самый быстрый способ сделать это. Пожалуйста, дайте мне знать, если вы знаете другой способ, который лучше, чем этот.
final
.findOneAndUpdate({email:"abcd@gmail.com"}, {$set:{stocks:[]}})
.then(()=>console.log("Data removed."))
.catch(err=>console.log(err));
Как только данные удалены, это означает, что массив будет очищен. Затем я назначаю весь набор нового массива из моей локальной переменной следующим образом:
const newData = {
stocks : ["abcd", "wxyz"]
};
Теперь я пытаюсь присвоить этот новый массив моей базе данных с помощью этой команды:
final
.findOneAndUpdate({email:"abcd@gmail.com"}, {$set:{stocks:newData.stocks}});
Он успешно очищает массив, но когда я присваиваю новый массив, он не работает и показывает пустой массив. Может ли кто-нибудь помочь мне с этим, пожалуйста?