DataGrip连接Mongodb进行条件查询

DataGrip连接Mongodb进行条件查询

  • 背景
  • DG的mongo条件查询
  • 结语

背景

  新公司这边要用mongodb存订单数据(我到现在也没明白为啥要用mongo,领导的解释是要对接其他平台,三方订单字段不确定,mongo比较弹性。),然后之前并没有用过这个玩意,然后只能边学边写。查网上资料知道了通过Template可以解决大部分查询。吭哧吭哧终于把业务逻辑代码搞定了,然后想通过可视化界面去查生产的订单数据,然后打开我的Navicat for mac PJ版,然后发现竟然没法连接mongo,没有连接mongo的选项!!!我傻了。。然后又不想再单独下一个navicat for mongo,于是就开始找别的能兼容全部数据源的,我就想到了Jetbrain的Data Grip。吭哧吭哧下下来、安装完、连接数据库,emmm~~ 没问题,开始查询。。。接着问题就来了。

DG的mongo条件查询

  mongo的查询语句虽然写的不太熟练,但是照着网上的扒一扒还是能得到想要的结果,但是。。。DG我完全没找到哪里能写查询语句。。只有最明显的一块
明显的放大镜
  这里面要输入的就是查询条件,跟查询语句是一样的格式。然后问题又来了,查订单号竟然没有数据,然后我不添加条件查询,把第一条的订单号赋值出来,继续查询({“oid”:“xxxxxxxx”})。。没有数据?!,换成({”oid":xxxxxxxx}) ,还是没数据?!(黑人问号脸)网上查了一下,说是数据类型不对,我看了一下字段的类型,显示的是long(1(https:/这里面要输入的就是查询条件,跟查询语句是一样的格式。然后问题又来了,查订单号竟然没有数据,然后我不添加条件查询,把第一条的订单号赋值出来,继续查询({“oid”:“xxxxxxxx”})。。没有数据?!,换成({“oid”:xxxxxxxx})(黑人问号脸)网上查了一下,说是数据类型不对,我看了一下字段的类型,显示的是long(0),ok,切换条件long。更新后的条件**{“oid”:NumberLong(“xxxxxx”)}**,还是没有数据,我裂开了。。。然后我抱着试一试的心态,把DG提示的函数都试了一下,NumberInt() ;NumberDecimal() 。。 emmm?! 查出来了。用NumberDecimal(“xxxxxx”)查出来了,之前被网上误导的有点坑啊。。(虽然不知道是不是误导,但是NumberLong(“xxxxx”)是真查不出来。
  另外注意一下,函数里面要用引号括起来 , “ ” 括起来!!!
  我寻思难道订单号长度超过long了?自动转成decimal了?看了一下 没超过long的长度 还差好几位呢。。目前这个为啥要转decimal需要在研究一下,然后DG在那里能写查询语句也要找找。留个todo吧
  最近又开始查数据,然后上面那个里面的语句实在写不明白了,然后翻了一遍DG的各个位置,终于让我发现了能写查询语句的地方
DataGrip连接Mongodb进行条件查询_第1张图片
  这里的QueryConsole可以直接写mongo的查询语句,注意一下连接的库就行了。

结语

  第一次记录问题,写的可能不太好,主要留着自己看的,如果不巧被人看到了,有问题可以留言指出哈。

你可能感兴趣的:(mongo相关)