MongoDB 如何支持类 SQL 查询[通俗易懂]

MongoDB 如何支持类 SQL 查询[通俗易懂]经常看到有人追寻 MongoDB 支持 SQL 的解决方案,得到的都是一些否定答案,去写 MongoDB 语法的脚本吧 /MongoDB 归类就是“NoSql”,有人解释为“not only sql…

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 脚本》

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7636.html

(0)
上一篇 2023-03-17
下一篇 2023-03-17

相关推荐

  • Python Scalr教程:使用Scalr管理和自动化部署Python应用程序

    Python Scalr教程:使用Scalr管理和自动化部署Python应用程序Scalr是一种高度可扩展的云管理平台,它使您可以通过云实例自动化和管理应用程序的部署。在本教程中,我们将探讨如何使用Scalr来部署和管理Python应用程序。

    2023-12-27
    109
  • Python解密:揭秘背后的实用功能

    Python解密:揭秘背后的实用功能Python是一种十分流行的编程语言,其简洁的语法和强大的功能吸引了越来越多的开发者加入其中。虽然Python已经广为人知,但是其实Python还有许多实用功能并不为人所知。在这篇文章中,我们会带您揭秘Python背后的实用功能,从而优化您的编程体验。

    2024-03-23
    75
  • redis清除内存碎片的方法有哪些_redis内存优化

    redis清除内存碎片的方法有哪些_redis内存优化在Redis 4.O-RC3版本之后,Redis自身提供了一种清除内存碎片的方法 清除的原理很简单,通过复制拷贝将不连续的存放的数据搬到一起形成一块连续的内存空间,如下图: 如上图,清除之前A和B不…

    2023-04-10
    142
  • sql快速生成连续整数的方法_vb随机生成1到100随机整数

    sql快速生成连续整数的方法_vb随机生成1到100随机整数 很多时候需要用到连续的id进行数据对比,如判断是否连续等问题。那么,生成连续整数的方式有多种,首先容易想到的是逐步循环,如果想生成2kw条记录,则需要循环2kw次进行插入,那么有没有其他方式…

    2023-03-28
    161
  • 对MySQL函数substring_index(str,delim,count)的兼容

    对MySQL函数substring_index(str,delim,count)的兼容目录 环境 文档用途 详细信息 环境 系统平台:Microsoft Windows (64-bit) 2012 版本:5.6.5 文档用途 对MySQL函数substring_index(str,d…

    2023-04-14
    155
  • Python数据类型:理解、操作和分析数据

    Python数据类型:理解、操作和分析数据Python是一种强类型语言,它提供了许多内置数据类型,包括数字类型、字符串类型、列表、元组和字典等。这些数据类型在处理数据时非常有用,可以让开发人员更简便地操作和分析数据。当然,Python也支持自定义数据类型,这些自定义数据类型可以更好地在程序中使用。

    2024-03-03
    81
  • kafka连接工具_管道连接器厂家

    kafka连接工具_管道连接器厂家1.概述 最近,有同学留言咨询Kafka连接器的相关内容,今天笔者给大家分享一下Kafka连接器建立数据管道的相关内容。 2.内容 Kafka连接器是一种用于Kafka系统和其他系统之间进行功能扩展、

    2023-04-30
    143
  • mysql启动流程[通俗易懂]

    mysql启动流程[通俗易懂]配置流程实例展示 阅读本文前的知识准备: mysql程序启动流程.7z SET MYSQL_HOST="127.0.0.1"SET MYSQL_PWD="123456&q

    2023-02-23
    144

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注