更新MongoDB PHP文档的值

时间:2016-03-25 12:40:48

标签: php mongodb

在名为 user_notifications 的数据库中,每个用户都有一个用户ID集合。

对于每个集合,应该有一个包含计数器列默认设置为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的初学者,我的架构设计如何?有什么建议让它更好吗? 另外,我应该如何运行上述查询?

由于

1 个答案:

答案 0 :(得分:0)

另一种方法是使用$inc运算符。 $inc documentation and examplehttps://jsfiddle.net/w71t2247/12/