Builder类成员$exp 里面看到有 exists(字段是否存在)

特别提醒下按字段排序 写法  ->order('created','desc')
我操作时候
一直抛出错误 

->where('apk_download_url',['$exists'=>1])->count()

ConnectionException in Connection.php line 315
unknown operator: $
//已经解决了:
->where('apk_download_url','exists',true)->count()


看了一下代码,exist映射是通过第二个参数

放一个自己用的语句吧

$log = model("PublishMessage")
->where(['payload.deviceid' => $serial_number,'payload.desired.arrays.0.device.index' => $index])
->where('payload.desired.arrays.0.status.meterd' , 'exists' , true)
->where("payload.timestamp", "between time", [$time_min, $time_max])
->order('created','desc')
->limit(1)
->find();

model

<?php

namespace app\common\model;

use think\Model;

/**
* mongodb数据库
* @author Administrator
*
*/
class PublishMessage extends MongoDb
{

protected $table = 'publish_message';

}

配置

<?php

namespace app\common\model;

use think\Model;

/**
* mongodb数据库
* @author Administrator
*
*/
class MongoDb extends Model
{
protected $connection = [
// 数据库类型
'type' => '\think\mongo\Connection',
// 服务器地址
'hostname' => '',
// 数据库名
'database' => '',
// 用户名
'username' => '',
// 密码
// 'password' => '',
'password' => '',
// 端口
'hostport' => '27017',
// 强制把_id转换为id
'pk_convert_id' => true,
];


}

in 还是使用自带的即可

whereIn('payload', [1, 2, 3, 4, 5, 6, 7])