用$ set和$ upsert更新mongodb

问题描述 投票:1回答:1

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

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

      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})
mongodb mongodb-query
1个回答
2
投票

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

试试这个:

db.Users.update({"email":response.email},{$set:{Fbuser: null}}, {upsert:true})
© www.soinside.com 2019 - 2024. All rights reserved.