Mongo - 如有必要,在创建新条目时更新数据库

时间:2014-04-24 02:01:13

标签: node.js mongodb mongoose

从NodeJS(最好是使用Mongoose)更新Mongo数据库中的行的最佳方法是什么,如果行尚不存在,则创建它。我尝试了多项功能,save findOneAndUpdate update。它们都是彼此依赖的,例如,行必须存在才能更新它。

我们如何将这些功能组合成一个功能:

If the entry does not exist by 'name', create it, and then...
If the entry does exist, update 'password' with 'data'

假设mongo集合看起来像:

{
"_id": ObjectId("5357c8e0b12b6c375bb0217b"),
"name": "Kimberly",
"password": "data"
}

我当前的代码是乱七八糟的if语句并依赖于err响应来调用数据库函数。 (例如,在添加用户之前检查用户是否存在)更新或保存后,是否有更好的方法确保数据库中没有重复的条目?

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以将findAndModify与upsert = true

一起使用

http://docs.mongodb.org/manual/reference/method/db.collection.findAndModify/