用$ set和$ upsert更新mongodb

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用$ set和$ upsert更新mongodb相关的知识,希望对你有一定的参考价值。

如果不存在,我想添加一个新文档,如果存在则更新属性。以及在更新文档时,如果不存在则创建属性。

我尝试了以下方式。但它只适用于更新。

      Fbuser= {};
      Fbuser.name = response.name;
      Fbuser.status = "active";
      Fbuser.profile_image = "https://graph.facebook.com/"+response.id+"/picture?width=150&height=150";

      db.Users.update({"email":response.email},{$set:Fbuser},{upsert:true})
答案

$ set总是需要一个值:http://docs.mongodb.org/manual/reference/operator/update/set/

试试这个:

db.Users.update({"email":response.email},{$set:{Fbuser: null}}, {upsert:true})

以上是关于用$ set和$ upsert更新mongodb的主要内容,如果未能解决你的问题,请参考以下文章

mongodb_修改器($inc/$set/$unset/$push/$pop/upsert......)

mongodb_修改器($inc/$set/$unset/$push/$pop/upsert......)

mongoDB 更新数据

mongoDB数据更新与操作符

使用 upsert 和多语法更新 Mongodb

《MongoDB入门教程》第20篇 文档更新之UPSERT