2016-03-25 12 views
2

という名前のデータベースの中に、user_notificationsには、それぞれのユーザーのユーザーIDを持つコレクションがあります。ドキュメントの値を更新するMongoDB PHP

カウンタの各列の既定値が0に設定された静的ドキュメントが必要です。

単純なメソッド呼び出しでは、MongoDBの初心者のようにカウンタ値を1増やす必要があります。私はうんざりしていると思います。私は擬似コードMongoDBの初心者として:[

、私のスキーマ設計がどのようにあるように、このメソッドを書くことになった

private function increment_notification() 
{ 

    // database => notification 
    // collection => _238 
    // document => unseen_counter 

    $unseen = $this->notification->_238->unseen_counter; // selecting a single document 

    // if the document didn't exists then create the document and 
    // set a default value 0 to the counter row. 

    if(!$unseen) { 
     // create a new document 
     $this->notification->insertOne([ 
      '_id' => 'unseen_counter', 
      'counter' => '0' 
     ]); 
    } else { 
     // we already have the document 
     // now update the counter value by 1 
     $unseen->update([ 
      '$set' => [ 
       'counter' => $unseen['counter'] + 1; 
      ] 
     ]); 
    } 
} 

:ここにそれを行うだろう、私のオブジェクトである、いくつかのアイデアが必要ですか?それをより良くするための提案はありますか? また、上記のクエリをどのように実行する必要がありますか?

おかげ

答えて

0

は、これを行う別の方法は、$inc演算子を使用することです。 $incの場合はdocumentation and exampleです。

+0

ここで詳細をお知らせください。 – kvorobiev

関連する問題