PHP7 操作MongoDB

24 篇文章 0 订阅
//先定义
$this->collection = (new \MongoDB\Client($host))->selectDatabase('my_db')->selectCollection('my_collection');

1.使用$inc,实现数值叠加

        $updateUser = [
                '$inc'=>[
                        "total_amount"=> 10
                ]
        ];
        $userFilter = [
            '_id' => '123',
        ];

       $this->collection->updateOne($userFilter, $updateUser);
  • 让指定collection中“_id”为“123的数据,“total_amount”字段加上10,若操作前前”total_amount”的值为8,则操作后值为18.

2.将cursor转换成array

$res = $this->collection->find()->toArray();
$res = json_encode($res);

3.option中参数的顺序问题

//skip、limit须在project之前否则报错
$query  = [];
$option = [
'skip'       => 0,
'limit'      => 5,
'sort'      => [
                'create_time' => -1,
],
'projection' => [
                '_id'    => 1,
                'icon'   => 1,
             ]
    ];

$res = $this->collection->find($query,$option)->toArray();

4.empty()检验MongoDB 对象

$query  = ['name'=>'mike'];
$cursor = $this->collection->findOne($query);
//若不存在name 为mike的数据,则打印$cursor结果为true,反之为false
var_dump(empty($cursor));

5.统计符合条件的数据总数
```php
$query  = ['name'=>'mike'];
$count  = $this->collection->count($query);

“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值