码迷,mamicode.com
首页 > 数据库 > 详细

mongodb 日志,(一个看日志解决新问题的方法) -- clwu

时间:2016-10-16 19:47:40      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:

项目中换上了 PHP 最新的mongodb驱动,但这个驱动只是原生接口的一层包装,有些命令甚至要用executeCommand构造,像下面要讲到的aggregate方法。

 

第一次封装 Infrastructure\Mongodb 后的aggregate代码如下,我也不知道怎么写,网上也没找到 用executeCommand 构造 aggregate时应该怎么传参数,

技术分享

 

 这是调用封装后 aggregate函数的客户端代码,看起来应该是对的,都是模仿mongo控制台aggregate命令的写法。

技术分享

 

当然就执行出错了,抛出下如下异常,不知道它说什么。 

技术分享

 

那就换个角度看看问题是怎么发生(做了些什么?),先看日志,看到日志,mongodb执行的是如下命令,还有参数

技术分享

 

再用正确的方式,触发一下,看一下mongodb 执行的命令和参数。

在mongo控制台执行的命令当然就是正确的咯。

技术分享

 

这次通过日志看到mongodb的执行命令和参数,原来,不同阶段的操作数是赋值给 pipeline 属性,aggregate属性传的是 collectionName

技术分享

 

第二次改动后的代码如下,正解运行了。

技术分享

 

当你不知道怎么入手解决问题时,可以先探索一下问题是怎么发生的。

mongodb 日志,(一个看日志解决新问题的方法) -- clwu

标签:

原文地址:http://www.cnblogs.com/lihuobao/p/5967250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!