2016-03-25 3 views
2

Внутри базы данных с именем user_notifications существует коллекция для каждого пользователя с идентификатором пользователя.Обновление значения документа MongoDB PHP

Должен быть статический документ, который должен содержать счетчик по умолчанию по умолчанию для 0 для каждой коллекции.

В простом вызове метода мне нужно увеличить значение счетчика на 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; 
      ] 
     ]); 
    } 
} 

Я закончил тем, что писал этот метод как псевдокоде :[

Как новичок в MongoDB, как это мой дизайн схемы? любое предложение сделать его лучше? Кроме того, как я должен запускать вышеуказанные запросы?

Благодаря

ответ

0

Другой способ сделать это состоит в использовании оператора $inc. Вот documentation and example для $inc.

+0

Не могли бы вы предоставить более подробную информацию здесь? – kvorobiev

Смежные вопросы