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

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

谢谢

回答

0

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

所以,你需要把你的逻辑分为两个单独的查询与第二看起来像:

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

运行一前一后。

+0

谢谢你回答我的问题Sammaye :) – johna

相关问题