mongo查询的奇葩问题

cominglately 2017-06-02 04:40:56
近期做了一个项目 ,自检的时候发现一个mongo 查询传递相同的参数 却会得到不同的数据,下面是打印处来的条件,一个可以正常化的获取数据另外一个不行 ,自检了函数的执行流程但是没发现问题 ,最后仔细的看了下数据类型 将  end_time 的条件强转成int 之后ok,; 那么问题来了 数据类型即使有问题 那么为什么有时候是对的呢

array(3) {
["end_time"]=>
array(2) {
["$gt"]=>
string(10) "1496332800"
["$lt"]=>
int(1496419199)
}
["cid"]=>
string(1) "1"
["status"]=>
int(0)
}

下面是自己封装的查询函数

/**
* @param $collect 集合的名字
* @param null $field
* @param null $where 条件
* @param null $order 排序
* @param $listRows 每页显示的条数
* @param string $searchType 本函数执行的目的 collect获取集合 count 计算符合条件的数据的数量
* @return mixed
*/
public function queryMongo($collect, $field = null, $where = null, $order = null, $listRows = null, $searchType = 'collect')
{
//加入分页的机制
$crsmongo = new CrsMongoModel();
$crsmongo->setConfig($collect);
$object = $crsmongo->field($field);
if (!empty($where)) {
$object->where($where);
}
if (!empty($order)) {
$object->order($order);
}

$totalRows = $object->count();

if ($searchType === 'count') {
return $totalRows;

}
if (!empty($listRows)) {
$Page = new Page($totalRows, $listRows);
$object->limit($Page->firstRow, $Page->listRows);

}

$info = $object->select();
return $info;

}
...全文
220 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧