MongoDB如果尚不存在,则将字段插入现有文档

时间:2012-07-19 05:06:33

标签: mongodb mongodb-php

我有一个这样的文件(这是非常简化的):

{
    'name' : 'test',
    'age' : 16
}

还有这个

{
    'name' : 'test2'
}

如果不存在,我想将所有'年龄'设置为14。

我该怎么做?

2 个答案:

答案 0 :(得分:6)

尝试$exists operator

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

答案 1 :(得分:0)

我有一种我能想到的迂回方式。我建议您使用普通更新命令,但只需在选择条件中添加正则表达式条件,以仅匹配那些没有为'age'属性设置值(或数值)的文档。