5
我有這樣一個文件(這是很簡單的):MongoDB中插入域現有的文件,如果不存在
{
'name' : 'test',
'age' : 16
}
而且這個
{
'name' : 'test2'
}
我想設置的所有「年齡'到14歲,如果它不存在。
我該怎麼做?
我有這樣一個文件(這是很簡單的):MongoDB中插入域現有的文件,如果不存在
{
'name' : 'test',
'age' : 16
}
而且這個
{
'name' : 'test2'
}
我想設置的所有「年齡'到14歲,如果它不存在。
我該怎麼做?
嘗試$exists
operator:
$this->mongolib->update('people', array('age' => array('$exists' => false)), array('$set' => array('age' => 14)), array('upsert' => true, 'multiple' => true));
我有一個迂迴的方式,我可以想到。我建議你使用正常的更新命令,但只是在選擇條件中添加一個正則表達式條件,以僅匹配那些沒有爲'age'屬性設置的值(或數字值)的文檔。
你會不會完成同樣的,如果你在那裏尋找了年齡的空值? – golja 2012-07-19 06:02:42
'$ exists'不會匹配{{age:null}',但搜索年齡爲空的文檔將匹配沒有年齡字段的文檔。我發現$ exists操作符是更好的意向指示符。 – MrKurt 2012-07-19 06:06:06
工作。謝謝! – tpae 2012-07-19 08:13:16