返回顶部
首页 > 资讯 > 数据库 >MongoDB 如何支持类 SQL 查询
  • 257
分享到

MongoDB 如何支持类 SQL 查询

MongoDB如何支持类SQL查询 2017-05-15 02:05:57 257人浏览 绘本
摘要

看来,这确实是非常难得一件事!否则官方也早该把对 sql 的支持内置了;即便没内置,众多的开源贡献者也应该在外面给出了可用的补丁。 关系数据库数据模型简单,都是行列分明的单层二维表;所以描述它的计算的语言(SQL)就相对简单;而 mong

MongoDB 如何支持类 SQL 查询

看来,这确实是非常难得一件事!否则官方也早该把对 sql 的支持内置了;即便没内置,众多的开源贡献者也应该在外面给出了可用的补丁。

关系数据库数据模型简单,都是行列分明的单层二维表;所以描述它的计算的语言(SQL)就相对简单;而 mongoDB 里是多层嵌套的结构,属性字段任意出现。光是描述清楚选取哪一层的哪些字段信息,都是件不容易的事,再加上进一步的分组、聚合、条件、排序运算,复杂程度指数级上升,这也是多年来基于 MonGoDB 数据库计算一直困难的根本原因。

如果用彻底支持集合操作的集算器 SPL 语言,处理这种多层嵌套的数据结构就比较容易了,直接看代码:

  A
2 =mongo_shell(A1,"computer.find()").fetch()
3 =A2.new(_id:ID,income.array().sum():INCOME,output.array().sum():OUTPUT)

这和理想中的SQL基本上一模一样了:
SELECT _id:ID,income.array().sum():INCOME,output.array().sum():OUTPUT FROM computer

而做同样查询的 MongoDB 脚本则是如下的一个代码规模:

2png

MongoDB里整套的查询计算功能,都能用简洁的SPL脚本实现,就不一一在这里列举了。上面的例子摘自《玩转 Mongo 计算》

 

SPL能很方便地嵌入到JAVA应用,可参考《Java 如何调用 SPL 脚本》。

具体使用方法可参考 《如何使用集算器》。

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB 如何支持类 SQL 查询

本文链接: https://lsjlt.com/news/6929.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MongoDB 如何支持类 SQL 查询
    看来,这确实是非常难得一件事!否则官方也早该把对 SQL 的支持内置了;即便没内置,众多的开源贡献者也应该在外面给出了可用的补丁。 关系数据库数据模型简单,都是行列分明的单层二维表;所以描述它的计算的语言(SQL)就相对简单;而 Mong...
    99+
    2017-05-15
    MongoDB 如何支持类 SQL 查询
  • MongoDB中怎么支持类 SQL 查询
    这篇文章给大家介绍MongoDB中怎么支持类 SQL 查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。关系数据库数据模型简单,都是行列分明的单层二维表;所以描述它的计算的语言(SQL...
    99+
    2024-04-02
  • Impala是否支持SQL查询
    Impala是一个开源的分布式SQL查询引擎,它是基于Hadoop的生态系统。Impala通过支持SQL查询来进行数据分析,用户可以...
    99+
    2024-04-02
  • Kylin是否支持SQL查询
    Kylin是一个开源的分布式分析引擎,专为OLAP(联机分析处理)设计,支持SQL查询。Kylin提供了SQL接口来进行复杂的多维分...
    99+
    2024-04-02
  • mysql支持子查询吗
    这篇文章主要介绍了mysql支持子查询吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql支持子查询吗文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • mongodb支持哪些数据类型
    mongodb支持多种数据类型,包括文本字符串、整型、浮点型、布尔值、日期、唯一标识符,以及数组、对象、二进制数据和自定义数据类型。mongodb采用文档结构,支持嵌套数据,并提供自动类...
    99+
    2024-04-08
    mongodb 键值对
  • LINQ查询支持哪些语法
    这篇文章主要介绍“LINQ查询支持哪些语法”,在日常操作中,相信很多人在LINQ查询支持哪些语法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ查询支持哪些语法”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-17
  • Cassandra支持哪些查询语言
    Cassandra支持CQL(Cassandra Query Language)查询语言。CQL是一种基于SQL的查询语言,具有类似...
    99+
    2024-04-09
    Cassandra
  • mongodb如何查询数据
    mongodb中查询数据的方法:在mongodb中查询数据可以使用find() 方法,语法格式为:“db.collection.find(query, projection)”,其中collection指的是集合名称、query指的是指定查...
    99+
    2024-04-02
  • mongodb如何查询所有
    mongodb中查询所有的方法:在mongodb中需要查询所有可以使用find() 方法,find() 方法是用来显示以非结构化方式的所有文档,查询语法格式:“db.collection.find(query, projection)”,其...
    99+
    2024-04-02
  • mongodb如何查询区间
    在MongoDB中查询区间可以使用$gt(大于)、$lt(小于)、$gte(大于等于)、$lte(小于等于)等比较运算符来实现。假设...
    99+
    2023-09-06
    mongodb
  • 如何查看电脑支不支持win11
    这篇文章主要介绍了如何查看电脑支不支持win11的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何查看电脑支不支持win11文章都会有所收获,下面我们一起来看看吧。方法一:healthcheck我们可以通过微软...
    99+
    2023-07-01
  • Teradata支持并行查询处理吗
    是的,Teradata支持并行查询处理。Teradata数据库使用Massively Parallel Processing(MPP...
    99+
    2024-04-09
    Teradata
  • mongodb如何带条件查询
    在MongoDB中,可以使用`find()`方法来执行带条件查询。以下是一些常见的带条件查询示例:1. 等于条件查询:```db.c...
    99+
    2023-09-04
    mongodb
  • Teradata如何支持多种数据格式和数据类型的存储与查询
    Teradata支持多种数据格式和数据类型的存储与查询,包括结构化数据和非结构化数据。Teradata提供了多种数据类型用于存储不同...
    99+
    2024-04-09
    Teradata
  • MongoDB指定类型查询数据
    1.查看集合 show collections2.向集合中添加数据 db.runoob.insertMany([ { 'title':'data1', 'u...
    99+
    2024-04-02
  • Teradata支持的查询语言有哪些
    Teradata支持的查询语言有SQL(Structured Query Language)和Teradata SQL。Terada...
    99+
    2024-03-08
    Teradata
  • sql如何去重查询
    小编给大家分享一下sql如何去重查询,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!sql去重查询的方法:重复记录根据单个字段peopleId来判断,使用语句删除,代码为【where ...
    99+
    2024-04-02
  • 如何优化SQL查询
    本篇文章给大家分享的是有关如何优化SQL查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们致力于打造能够较好运行并延续较长一段时间的que...
    99+
    2024-04-02
  • 如何使用SQL语句在MongoDB中执行复杂查询?
    如何使用SQL语句在MongoDB中执行复杂查询?摘要:MongoDB是一种流行的NoSQL数据库,其查询语言与关系型数据库SQL语言不同。本文将介绍如何使用SQL语句在MongoDB中执行复杂查询,并提供具体的代码示例。引言:在Mongo...
    99+
    2023-12-17
    MongoDB 复杂查询 SQL语句
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作