最好的MongoDB的客户端工具–NoSQLBooster。NoSQLBooster立志做“The Smartest IDE for MongoDB”。

使用 mb.runSQLQuery()方法,能把SQL语句翻译成MongoDB的查询语句.

借助适用于 MongoDB 的 NoSQLBooster,您可以针对 MongoDB 运行 SQL SELECT 查询。 SQL 支持包括函数、表达式、具有嵌套对象和数组的集合的聚合。 请参阅 NoSQLBooster for MongoDB 支持的 功能和 SQL 示例。

让我们看看如何在 SQL 中将 GROUP BY 子句与 SUM 函数一起使用。

而不是编写表示为类似 JSON 结构的 MongoDB 查询

db.employees.aggregate([{$group: {_id: "$department",total: { $sum: "$salary" }},}
])

您可以使用您可能已经知道的 SQL 查询 MongoDB。

mb.runSQLQuery(`SELECT department, SUM(salary) AS total FROM employees GROUP BY department
`);

再来看一个比较复杂的SQL语句,看看NoSQLBooster是怎么翻译的:

等效的 MongoDB SQL查询:

select   CITY as CITY_NAME,  count(*) as COUNT_STORE,    sum(AVGSCORE) as AVG_SCORE, sum(AVGPRICE) as AVG_PRICE
fromstore_detail_info
whereCITY_NAME in ("上海", "北京", "广州")
group byCITY_NAME
order byCOUNT_STORE desc

到 MongoDB Script:

db.store_detail_info.aggregate([{$addFields: {CITY_NAME: "$CITY"}
}, {$match: {CITY_NAME: {$in: ["上海", "北京", "广州"]}}
}, {$group: {_id: {CITY_NAME: "$CITY_NAME"},COUNT_STORE: {$sum: NumberInt(1)},AVG_SCORE: {$sum: "$AVGSCORE"},AVG_PRICE: {$sum: "$AVGPRICE"}}
}, {$project: {CITY_NAME: "$_id.CITY_NAME",COUNT_STORE: "$COUNT_STORE",AVG_SCORE: "$AVG_SCORE",AVG_PRICE: "$AVG_PRICE"}
}, {$sort: {COUNT_STORE: -1}
}])

特性

  • 通过 SQL 访问数据,包括 WHERE 过滤器、ORDER BY、GROUP BY、HAVING、DISTINCT、LIMIT
  • SQL 函数(COUNT、SUM、MAX、MIN、AVG)
  • SQL 函数(日期、字符串、转换)
  • SQL Equi JOIN 和不相关子查询
  • 聚合管道运算符作为 SQL 函数(dateToString、toUpper、split、substr …)
  • 提供可以集成到您的脚本中的编程接口(mb.runSQLQuery)
  • 关键字、MongoDB 集合名称、字段名称和 SQL 函数的自动完成

NoSQLBooster4MongoDB - 用SQL查询MongoDB相关推荐

  1. MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)

    查询接口 对于查询操作,MongoDB 提供了 db.collection.find() 方法.这个方法接收查询条件和映射两个条件并且返回一个指向匹配文档的 游标 .你可以使用 limits, ski ...

  2. sql collection内容_非关系数据库复习|SQL到mongoDB查询语句转换

    学姐最近发现之前学过SQL comp9120的同学们很容易就能转换到mongodb的查询语句上来. 首先我们来看sql 和mongodb的概念对照表, 在 MongoDB 中我们把表称做Collect ...

  3. sqlserver 查询某个时间段执行sql语句_为什么 SQL 查询不是先执行SELECT语句?

    作者:Julia Evans    译者:无明    链接:infoq.cn/article/Oke8hgilga3PTZ3gWvbg 很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟别 ...

  4. mongo go 查询指定字段_使用PyMongo查询MongoDB数据库!

    总览 我们将讨论如何使用PyMongo库查询MongoDB数据库. 我们将介绍MongoDB中的基本聚合操作. 介绍 随着互联网的全球普及,我们现在正在以前所未有的速度生成数据.因为执行任何类型的分析 ...

  5. SQL检索MongoDB的轻量级解决方案

    关于使用SQL访问MongoDB的解决方案,网络上已经可以查到很多.有相当一部分都是比较重的,有的需要安装插件,通过插件界面进行查询交互的,如:DataGrip:有的需要安装分布式计算引擎,并能提供更 ...

  6. 大数据的分布式SQL查询引擎 -- Presto的详细使用

    Presto – Distributed SQL Query Engine for Big Data 官网 项目源码 官方文档 目录 1 Presto 概述 2 概念 2.1 服务进程 2.2 数据源 ...

  7. pymongo查询列表元素_使用PyMongo查询MongoDB数据库!

    作者|LAKSHAY ARORA 编译|Flin 来源|analyticsvidhya 介绍 随着互联网的普及,我们现在正以前所未有的速度生成数据.因为执行任何类型的分析都需要我们从数据库中收集/查询 ...

  8. MyBatis原理分析之四:一次SQL查询的源码分析

    上回我们讲到Mybatis加载相关的配置文件进行初始化,这回我们讲一下一次SQL查询怎么进行的. 准备工作 Mybatis完成一次SQL查询需要使用的代码如下: Java代码   String res ...

  9. sql查询返回xml数据之应用【转载】

    sql查询返回xml数据之应用[转载] 今天查看邮件,看到一标题Using the FOR XML Clause to Return Query Results as XML,点进去看了看,以前也是知 ...

  10. python查询sqlserver视图_基于odoo11上的SQL查询构建一个新的视图或模型

    我正在研究一个奥多模块.在 我希望我的模块是一个"报告"大多数购买的产品(按客户).在 我已经在Odoo上创建了一个视图,但是现在,我需要按客户"过滤"这些视图 ...

最新文章

  1. Qt-按钮无文本显示
  2. 计算机在矿山企业中的应用,计算机在矿山工业中的应用与发展
  3. Ubuntu安装时没注册root用户密码,怎么登录root
  4. mysql之使用python操作mysql需要commit的情况
  5. 有趣的算法(一):如何让有情人终成眷属
  6. TG Pro for Mac(Mac电脑硬件温度监测工具)
  7. linux系统下如何优化mysql运行环境
  8. Nebula3资源子系统
  9. 6678EMIF总结
  10. unity替换鼠标图标
  11. 【嵌入式系统设计师笔记】——什么是嵌入式?
  12. POI之Excel单元格样式
  13. service中间调用dao层方法时,出现Mapper method ‘dao.xxx‘ has an unsupported return type错误,但是sql执行修改数据成功,并没有回滚
  14. [转载]刘兴亮|给同一天发的这三款社交产品算算命
  15. 小程序版道歉文案自动生成 道歉神器源码分享
  16. swt包下载,swt包引入(一个简单的SWT程序实例及详解)
  17. 计算机硬件系统中外设,计算机及外设 计算机硬件系统
  18. 我是佛前的一粒佛珠(请听配乐)
  19. 分布式系统课程总结 西电计算机学院
  20. 哈哈日语 五十音图中发音最难的四个假名

热门文章

  1. 实时网速怎么看快慢_怎么看测出来的网速快慢
  2. Win10 1607 频繁断网,迅雷断网以及迅雷下载崩溃解决方案
  3. 11 种主要神经网络结构图解
  4. 计算机怎么硬盘重做系统,如何对新的硬盘安装系统进行分区并重新安装系统计算机分区教程...
  5. win7安装.Net Framework 4,出现错误码(1603,0x80070643)
  6. 北邮计算机考试大纲,北邮考试大纲
  7. NGS 测序深度和覆盖度—Depth、Coverage
  8. 崇明东平森林公园一日游
  9. 专业技能与职业素养报告计算机,职业技能与职业素养的心得体会
  10. 如何使用电脑将拍摄的照片做成gif格式动图?