Mongodb 编辑数组中的文档(如果存在),否则推送到数组
我有以下型号:Mongodb 编辑数组中的文档(如果存在),否则推送到数组,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,我有以下型号: var asdSchema = new Schema({ ratings: [{ item: { type: Schema.Types.ObjectId, ref: 'Items' }, rating: Number, date: { type: Date, default: Date.now } }] }); 我有一个findbyiandupdate推送到一个数组,但是,如果一个项目ID已经存在,那么更新评级的好方法是什么 { $push
var asdSchema = new Schema({
ratings: [{
item: { type: Schema.Types.ObjectId, ref: 'Items' },
rating: Number,
date: { type: Date, default: Date.now }
}]
});
我有一个findbyiandupdate
推送到一个数组,但是,如果一个项目ID已经存在,那么更新评级的好方法是什么
{ $push: { ratings: { item: item, rating: rating }} }
基本上只需要向上插入项
字段
编辑:当前设置检查评级是否存在,如果存在,则执行以下操作:
User.findOneAndUpdate(
{ _id: userId, 'ratings.item': item },
{ '$set': { 'ratings.$.rating': rating } },
...
否则,将新评级推送到评级数组。我想可以快一点