求一mongodb的插入语句($addToSet)
发布于 2年前 作者 romboo 1545 次浏览

如果结构如下: new Schema({ memberId: ObjectId, categories: [{name: String, type: String}] })

现在要给memberId为xxx的插入一条数据,但如果name与type已经存在时,则不插入。 例: 数据库的categories已经存在一条记录,{name: 'default', type = 'in'},这时候插入一条{name: 'default', type: 'out'},是可以插入的,因为type不一致,但如果插入一条{name: 'default', type: 'in'}应该无法插入,因为{name: 'default', type = 'in'}已经存在。

求写法,谢谢

2 回复

xxxSchema.pre('save’, function(next){ …checkLogic… })

collection.update({"Guid":Guid},{$set:{"imageCode":imageCode,"date":date}},{upsert:true},function(err) { if(err) { logger.error(“imageCode:"+imageCode+"date:"+date+” "+err); } else {

}

});

参考我这个吧,主要是upsert这个设置。如果存在则更新,不存在则添加。

回到顶部