2012-07-19 50 views

回答

6

嘗試$existsoperator

$this->mongolib->update('people', array('age' => array('$exists' => false)), array('$set' => array('age' => 14)), array('upsert' => true, 'multiple' => true)); 
+0

你會不會完成同樣的,如果你在那裏尋找了年齡的空值? – golja 2012-07-19 06:02:42

+0

'$ exists'不會匹配{{age:null}',但搜索年齡爲空的文檔將匹配沒有年齡字段的文檔。我發現$ exists操作符是更好的意向指示符。 – MrKurt 2012-07-19 06:06:06

+0

工作。謝謝! – tpae 2012-07-19 08:13:16

0

我有一個迂迴的方式,我可以想到。我建議你使用正常的更新命令,但只是在選擇條件中添加一個正則表達式條件,以僅匹配那些沒有爲'age'屬性設置的值(或數字值)的文檔。

相關問題