Javascript 在条件很少的情况下,无法对db集合执行mongoose操作
我在用Mongoose做MongoDB。我想做一些手术。不能得到结果 我有一个用户集合,其架构如下:Javascript 在条件很少的情况下,无法对db集合执行mongoose操作,javascript,json,mongodb,mongoose,mongoose-schema,Javascript,Json,Mongodb,Mongoose,Mongoose Schema,我在用Mongoose做MongoDB。我想做一些手术。不能得到结果 我有一个用户集合,其架构如下: {username: 'user1', id: 1, lastName: 'ln1' } {username: 'user2', id: 0, lastName: 'ln2' } Id可以是0、1、2或3 我想输入具有以下条件的新对象: 如果用户名存在且id为1,则更新详细信息 如果用户名不存在,则创建一个新条目,无需检查id 如果用户名存在且id为0、2或3(除1外),则不执行任何操作(不
{username: 'user1', id: 1, lastName: 'ln1' }
{username: 'user2', id: 0, lastName: 'ln2' }
Id可以是0、1、2或3
我想输入具有以下条件的新对象:
- 如果用户名存在且id为1,则更新详细信息
- 如果用户名不存在,则创建一个新条目,无需检查id
- 如果用户名存在且id为0、2或3(除1外),则不执行任何操作(不要更新或在集合中输入用户),并保留此用户在数据库中输入失败时的值
请帮助。我使用了promise库,但您也可以使用回调 假设:您希望处理用户模型
User.findOne({username:"USERNAME"}).exec()
.then((result)=>{
if(result){
if(result.id == 1){
//update result object and then save it
result.lastName="abc";
result.save(); // it will update your result
}else{
console.log('failed to enter in the db.')
}
}else{
User(userObject).save(); // it will create new entry
}
})