5
$collection->update(array("_id"=>new MongoId($uid), "phonenumber"=> $exist => array(FALSE),$set("phone"=>"1223444"));

我想知道为什么我的 $exist 查询不能与 PHP 和 Mongodb 一起使用,如果有人能指出我正确的方向,这将是有帮助的。

好的,在集合数据库中没有名为 phonenumber 的行,如果没有 phonenumber 我希望它插入一个,但如果有 phonenumber 不做任何事情。

4

3 回答 3

11

您有几个语法问题。

  1. 您在第二级缺少数组
  2. 您的运算符需要在它们周围加上单引号 ( $exist)

这是一个清理后的示例:

$collection->update(
    array( "_id"=> new MongoId($uid), 
           array("phonenumber"=> array('$exists' => false))
         ),
    array( '$set' => array("phone"=>"1223444") )
);
于 2012-07-15T04:22:46.500 回答
3

这应该是:

$collection->update(
    array( 
        "_id"         => new MongoId($uid), 
        "phonenumber" => array('$exists' => false)
    ),
    array( '$set' => array("phone"=>"1223444") )
);

响应盖茨副总裁的阵列级别太多

于 2013-12-20T16:54:55.360 回答
0

尝试这样做不等于运算符

$collection->update(
    array( "_id"=> new MongoId($uid)),
    array( '$set' => array("phone"=>"1223444") )
);
于 2012-07-15T04:46:46.160 回答