博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php MongoDB driver 查询实例
阅读量:7097 次
发布时间:2019-06-28

本文共 3511 字,大约阅读时间需要 11 分钟。

//是否只查mx        $mx_on_switch = I("post.mx_on_switch");        //mx模糊查询        $mx_vague_check = I("post.mx_vague_check");        //邮箱品牌        $mail_brand = I("post.mail_brand");        //智能客服品牌        $contacttool_brand = I('post.contacttool_brand');        //域名注册人        $people = I("post.people");        //注册机构        $registrar = I("post.registrar");        //是否只查标题        $mx_switch_title = I("post.mx_switch_title");        //网站标题        $wwwtitle = I("post.wwwtitle");        $province = I("post.province");        $filter = [];        if (!empty($mail_brand)) {            $filter['mx.brand_id'] = intval($mail_brand);        }        if (!empty($contacttool_brand)) {            $filter['contacttool.brand_id'] = intval($contacttool_brand);        }        if ($mx_switch_title == 20 || empty($province)) {            $filter["wwwtitle"] = ['$ne' => 'null'];        }        //网站标题        if (!empty($wwwtitle)) {            $filter['wwwtitle'] = new \MongoDB\BSON\Regex(".*{
$wwwtitle}.*", ''); } //只带mx的查询 if ($mx_on_switch == 20 || empty($province)) { $filter["mx"] = ['$exists' => true]; } //mx模糊查询 if (!empty($mx_vague_check)) { $filter["mx.mx"] = new \MongoDB\BSON\Regex(".*{
$mx_vague_check}.*", ''); } //如果没有传递省份 if (empty($province)) { $province = "shandong"; } try { $options_base = ['connectTimeoutMS' => 500000, 'socketTimeoutMS' => 500000]; $manager = new \MongoDB\Driver\Manager(C('mongodb_auth_url'), $options_base); $coll = C('default_db') . '.' . $province; $options = [ "skip" => $page, "limit" => $rows, 'projection' => ['createdate' => 0, 'expiresdate' => 0, 'registrant_city' => 0, 'registrant_street' => 0, 'registrant_state' => 0, 'updatedate' => 0, 'whoisserver_id' => 0, 'registrar_name_id' => 0, 'id' => 0, ], ]; //查询记录总的数量 $commands = [ 'count' => $province, 'query' => $filter ]; $command = new \MongoDB\Driver\Command($commands); $cursor = $manager->executeCommand('mxmanage', $command); $info = $cursor->toArray(); $count = $info[0]->n; $query = new \MongoDB\Driver\Query($filter, $options); $rows = $manager->executeQuery($coll, $query); $info = []; foreach ($rows as $document) { $doc = (array)$document; $doc['_id'] = (string)$doc['_id']; $doc['mail_brand_name'] = $doc['mx']->brand_name; $doc['mail_mx'] = $doc['mx']->mx ?: ''; $doc['contacttool_brand_name'] = $doc['contacttool']->brand_name; $doc['mx_changetime'] = !$doc['mx_changetime'] ? '' : date('Y-m-d H:i', $doc['mx_changetime']); $doc['contacttool_changetime'] = !$doc['contacttool_changetime'] ? '' : date('Y-m-d H:i', $doc['contacttool_changetime']); unset($doc['mx']); unset($doc['contacttool']); $info[] = $doc; } } catch (\MongoDB\Driver\Exception $e) { echo $e->getMessage(), "\n"; exit; } return json_encode(array("total" => $count, "rows" => $info));

查询实例  参考

转载地址:http://cihql.baihongyu.com/

你可能感兴趣的文章
主机宝IIS版ISAPIRewrite伪静态软件操作演示
查看>>
如何停止CSS3的动画?
查看>>
SetWindowLong
查看>>
获得项目的绝对地址 getRequestURI,getRequestURL的区别
查看>>
PowerShell实现基于SharePoint的网站HomePage Auto-Upgrade Solution
查看>>
[LintCode] Delete Node in the Middle of Singly Linked List 在单链表的中间删除节点
查看>>
WPF界面设计技巧(5)—自定义列表项呈现内容
查看>>
Troubleshooting RDS Performance (MySQL, SQL SERVER and MongoDB)
查看>>
Ksoap 使用简介
查看>>
WinForm实现鼠标悬停显示控件
查看>>
千里走单骑:06-北京到上海骑记--Day5.风雨回家路
查看>>
20.3. mysqladmin - client for administering a MySQL server
查看>>
【Java学习笔记之三十二】浅谈Java中throw与throws的用法及异常抛出处理机制剖析...
查看>>
使用ASP.NET 2.0提供的WebResource管理资源
查看>>
Android中文API(96)——SoundEffectConstants
查看>>
JavaSE学习总结(六)——接口与抽象类
查看>>
Awesome Torch
查看>>
DEDECMS之三 首页、列表页怎么调用文章内容
查看>>
自己写一个网页版的Markdown实时编辑器
查看>>
68.6. snapshot backup
查看>>