运行普通sql的Mongodb

运行普通sql的Mongodb,mongodb,Mongodb,为什么我不能在MongoDB中使用常规SQL查询,比如select*from student(假设有一个名为student的表),尽管他们说这不仅仅是SQL(NoSql) SQL是一种特定于领域的语言,用于编程和设计 管理关系数据库管理系统(RDBMS)中的数据 使用这样一种特定的语言从DBMS(MongoDB)中查询数据,这在结构上与RDBMS不同,在RDBMS中没有表、行和列的概念,不存在连接,在RDBMS中可以按照未定义的模式将文档嵌套到其他文档中,诸如此类,这不是很令人困惑吗 关键是,S

为什么我不能在
MongoDB
中使用常规SQL查询,比如
select*from student
(假设有一个名为student的表),尽管他们说这不仅仅是SQL(NoSql)

SQL是一种特定于领域的语言,用于编程和设计 管理关系数据库管理系统(RDBMS)中的数据

使用这样一种特定的语言从DBMS(MongoDB)中查询数据,这在结构上与RDBMS不同,在RDBMS中没有表、行和列的概念,不存在连接,在RDBMS中可以按照未定义的模式将文档嵌套到其他文档中,诸如此类,这不是很令人困惑吗

关键是,SQL和Mongo查询语言之间的区别不仅仅在于语法,还在于语义。Mongo查询并不是用不同的语言表示SQL查询的相同内容,而是表示完全不同的内容


当然,您可以为基本SQL查询找到直接的Mongo翻译,例如简单的
选择项,status from inventory WHERE status=“a”
,但是您如何将
JOIN
转换为Mongo,或者如何使用SQL查询嵌套文档?

我不确定是否完全理解这个问题。。。。但我会试一试的

NoSQL是一个非关系数据库,代表“不仅仅是SQL”。。。至于不能使用它,那是因为MongoDB有自己的术语等等

在MongoDB术语中,集合与表相同。集合是MongoDB文档的分组(文档是MongoDB集合中的记录,它是MongoDB中的基本数据单元)

为了翻译你的陈述

select *from student
对于MongoDB,我们将使用

db.student.find()
注意语句中的不同语法。他们每个人都有自己的用例,这只是找到适合你的用例的全部。除了语法之外,这两种语言之间还有很多不同之处,比如模式、体系结构以及它们的工作方式

有关这方面的更多信息,请参阅以下链接:

是的,Joe,我理解mongo db是什么,但我不明白为什么它不仅被称为SQL,而在您根本没有SQL的情况下,在查询时您想知道NoSQL为什么被称为NoSQL吗?看这篇文章,我读了链接中的答案,我想他们都是不错的答案……但我有一个自己的理论,为什么读了之后会这么叫。假设传统的RDBMS只使用SQL,而发明它的人想让它说的是与“only SQL”相反的话,他只是在“only SQL”前面加了一个“Not”,然后他称它为“Not only SQL”:0Hahahaha这可能是世界永远无法确定的:可能的重复