2012-06-17 15 views
0

好吧,我有一個數據庫集合,有1000個CRN號碼,我需要發給我們的客戶。mongoDB - 如果行沒有

我們使用MongoDB,並且我想將CRN號碼發給一個電子郵件帳戶。

所以這裏是我們目前的JSON

{ 
"CRN":516612 
} 

什麼,我需要在PHP做的是做一個找到它沒有一個「電子郵件」:「電子郵件帳戶」

如果有人能幫助因爲我不能得到正常的find()工作。

+0

您是否嘗試過使用{「email」:{$ exists:false}}查找? –

回答

1

要選擇不有一個電子郵件字段設置文檔,你會怎麼做:

db.collection.find({"email":{$exists:false}}) 

要符合這個條件的文檔存儲原子的電子郵件地址,你會怎麼做:

db.collection.update({"email":{$exists:false}},{$set:{"email":"[email protected]"}}) 

如果你需要回到您剛纔指定的電子郵件給CRN,你可以使用findAndModify

q = db.collection.findAndModify({query:{email:{$exists:false}}, 
           update:{$set:{email:"[email protected]"}}}) 

q將擁有您剛剛修改的文檔(使用CRN和_id但不使用電子郵件 - 您也可以使用選項取回電子郵件。