2015-05-05 3 views
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}) 
+0

Можете ли вы показать нам некоторые тестовые документы и ожидаемый результат? Является ли 'Fbuser' объектом или строковой переменной? – chridam

+0

@chridam Fbuser - это объект '{" email ":" [email protected] "}' –

ответ

1

$ набор необходимо всегда значение: http://docs.mongodb.org/manual/reference/operator/update/set/

Попробуйте это:

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

Возможно, 'Fbuser' - это объект, подобный' Fbuser = {name: 'test'} '? – chridam

+0

В этом случае это сработает, поэтому он не будет публиковать вопрос lol –

+0

@chridam Пожалуйста, внесите мой измененный вопрос. –

Смежные вопросы