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

$exist クエリが PHP で機能しない理由を知りたいのですが、誰かが私を正しい方向に向けてくれれば、Mongodb が役に立ちます。

コレクションデータベースには電話番号という行はありません。電話番号がない場合は挿入したいのですが、電話番号がある場合は何もしません。

4

3 に答える 3

11

いくつかの構文の問題があります。

  1. 第 2 レベルの配列がありません
  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") )
);

レスポンスにアレレベルがありすぎた Gates VP

于 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 に答える