如果结构如下: 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'}
已经存在。
求写法,谢谢
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这个设置。如果存在则更新,不存在则添加。