如果字段不存在,mongodb会更新

时间:2012-10-03 10:25:14

标签: php mongodb updates

$db->akis->update(
array("h" => (string) $_SESSION["_id"], "m" => array('$exists' => false)),
array('$set' => array("k" => $name)),
array("multiple" => true)
);

我在这里做的是,如果有一个m字段,不要更新k。我要补充的是,“如果m字段存在”更新i而不是k字段,我该如何管理?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为你需要在这里做两个单独的查询。这对MongoDB查询解析器来说太有条件了。

所以你需要将你的逻辑分成两个独立的查询,第二个看起来像:

$db->akis->update(
array("h" => (string) $_SESSION["_id"], "m" => array('$exists' => true)),
array('$set' => array("i" => $name)),
array("multiple" => true)
);

一个接一个地跑。