mongodb与mysql命令对比(代码片段)

zy9011 zy9011     2023-03-31     598

关键词:

我们总是在对比中看到自己的优点和缺点,对于mongodb来说也是一样,对比学习让我们尽快的掌握关于mongodb的基础知识。

mongodb与mysql命令对比

关系型数据库一般是由数据库(database)、表(table)、记录(record)三个层次概念组成。而非关系型数据库mongodb是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。mongodb对于关系型数据库里的表,没有行和列的关系概念,这体现了模式的自由特点。

语法命令如下列表格所示

mongodb语法说明

mongodb语法很多,比如多列索引,查询时可以统计函数,支持多条件查询,但是目前对多表的查询是不支持的,可以想办法通过数据冗余来解决多表查询的问题。举例如下所示。

查询colls所有数据

db.colls.find() //select * from colls

通过指定条件查询

通过指定条件查询

db.colls.find(‘last_name': ‘Smith');//select * from colls where last_name='Smith'

指定多条件查询

指定多条件查询

db.colls.find(  x : 3, y : “foo”  );//select * from colls where x=3 and y='foo'

指定条件范围查询

db.colls.find(j: $ne: 3, k: $gt: 10 );//select * from colls where j!=3 and k>10

查询不包括某内容

db.colls.find(, a:0);//查询不显示a 字段的所有列

支持<, <=, >, >=查询,需用符号替代分别为 l t , lt, ltlte, g t , gt, gtgte

db.colls.find( “field” :  $gt: value   );
db.colls.find( “field” :  $lt: value   );
db.colls.find( “field” :  $gte: value   );
db.colls.find( “field” :  $lte: value   );

也可对某一字段做范围查询

db.colls.find( “field” :  $gt: value1, $lt: value2   );

不等于查询用字符$ne

db.colls.find(  x :  $ne : 3   );

in查询用字符$in

db.colls.find(  “field” :  $in : array   );
db.colls.find(j:$in: [2,4,6]);

not in查询用字符$nin

db.colls.find(j:$nin: [2,4,6]);

取模查询用字符$mod

db.colls.find(  a :  $mod : [ 10 , 1 ]   )// where a % 10 == 1

$all查询

db.colls.find(  a:  $all: [ 2, 3 ]   );//指定a满足数组中任意值时

$size查询

db.colls.find(  a :  $size: 1   );//对对象的数量查询,此查询查询a的子对象数目为1的记录

$exists查询

db.colls.find(  a :  $exists : true   ); // 存在a对象的数据
db.colls.find(  a :  $exists : false   ); // 不存在a对象的数据

t y p e 查 询 type查询 typetype值为bsonhttps://bsonspec.org/数 据的类型值

db.colls.find(  a :  $type : 2   ); // 匹配a为string类型数据
db.colls.find(  a :  $type : 16   ); // 匹配a为int类型数据

使用正则表达式匹配

db.colls.find(  name : /acme.*corp/i  );//类似于SQL中like

内嵌对象查询

db.colls.find(  “author.name” : “joe”  );

1.3.3版本及更高版本包含$not查询

db.colls.find(  name :  $not : /acme.*corp/i   );
db.colls.find(  a :  $not :  $mod : [ 10 , 1 ]    );

sort()排序

db.colls.find().sort(  ts : -1  );//1为升序2为降序

limit()对限制查询数据返回个数

db.colls.find().limit(10)

skip()跳过某些数据

db.colls.find().skip(10)

snapshot()快照保证没有重复数据返回或对象丢失

count()统计查询对象个数

db.students.find(‘address.state' : ‘CA').count();//效率较高
db.students.find(‘address.state' : ‘CA').toArray().length;//效率很低

group()对查询结果分组和SQL中group by函数类似
distinct()返回不重复值

转自https://www.cnblogs.com/qlqwjy/p/8628398.html

mongodb与mysql效率对比(代码片段)

...ils/49365987本文主要通过批量与非批量对比操作的方式介绍MongoDB的bulkWrite()方法的使用。顺带与关系型数据库MySQL进行对比,比较这两种不同类型数据库的效率。如果只是想学习bulkWrite()的使用的看第一部分就 查看详情

既然有mysql了,为什么还要有mongodb?(代码片段)

目录一、基本概念走起二、MongoDB的主要特征三、MongoDB优缺点,扬长避短1、优点2、缺点四、何时选择MongoDB?为啥要用它?1、MongoDB事务2、多引擎支持各种强大的索引需求3、具体的应用场景4、以下是几个实际的应用... 查看详情

❤️一文快速入门mongodb数据库❤️(代码片段)

文章目录前言🥁下载MongoDB之Windows版🥁下载MongoDB之Mac版本安装✨一MongoDB的应用场景✨二MongoDB与Mysql的对比🍦MySQL是关系型数据库。🍦Mongodb是非关系型数据库(nosql),属于文档型数据库。🍦Mysql和Mongodb应用场景... 查看详情

❤️一文快速入门mongodb数据库❤️(代码片段)

文章目录前言🥁下载MongoDB之Windows版🥁下载MongoDB之Mac版本安装✨一MongoDB的应用场景✨二MongoDB与Mysql的对比🍦MySQL是关系型数据库。🍦Mongodb是非关系型数据库(nosql),属于文档型数据库。🍦Mysql和Mongodb应用场景... 查看详情

既然有mysql了,为什么还要有mongodb?(代码片段)

目录一、基本概念走起二、MongoDB的主要特征三、MongoDB优缺点,扬长避短1、优点2、缺点四、何时选择MongoDB?为啥要用它?1、MongoDB事务2、多引擎支持各种强大的索引需求3、具体的应用场景4、以下是几个实际的应用... 查看详情

npm与yarn常用命令对比(代码片段)

npm与yarn命令对比作为记录,以备查阅npmyarnnpminityarninit//初始化npmi|installyarn(install)//安装依赖包npmix--S|--saveyarnaddx//安装生产依赖并保存包名npmix--D|--save-devyarnaddx-D//安装开发依赖并保存包名npmun|uninstallxyarnremove//删除依赖包npmi-g|np 查看详情

mongodb简介与应用场景docker安装mongo整合springboot实现crud(代码片段)

(目录)1MongoDB相关概念1.1业务应用场景传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。解释:“三高”需求:而MongoDB可应对“三高”需求。具体的应用场景如:这些应... 查看详情

mongodbvsmysql,哪个效率更高?(代码片段)

本文主要通过批量与非批量对比操作的方式介绍MongoDB的bulkWrite()方法的使用。顺带与关系型数据库MySQL进行对比,比较这两种不同类型数据库的效率。如果只是想学习bulkWrite()的使用的看第一部分就行。测试环境:win7旗舰... 查看详情

mongodbvsmysql,哪个效率更高?(代码片段)

...及时送达本文主要通过批量与非批量对比操作的方式介绍MongoDB的bulkWrite()方法的使用。顺带与关系型数据库MySQL进行对比,比较这两种不同类型数据库的效率。如果只是想学习bulkWrite()的使用的看第一部分就行。测试环境࿱... 查看详情

从青铜到黄金,对着mysql学,一文搞定mongodb(代码片段)

Mongodb基础入门教程项目中使用的技术五花八门,接触了很多新技术,之前也没用过mongo,今天恶补一下基础的知识,开始吧。1、mongo和mysql概念对比一个刚毕业的学生都知道mysql,所以说关系型数据库就像我们的母... 查看详情

从青铜到黄金,对着mysql学,一文搞定mongodb(代码片段)

Mongodb基础入门教程项目中使用的技术五花八门,接触了很多新技术,之前也没用过mongo,今天恶补一下基础的知识,开始吧。1、mongo和mysql概念对比一个刚毕业的学生都知道mysql,所以说关系型数据库就像我们的母... 查看详情

docker安装mongodb及使用(代码片段)

文章目录一、mongoDB是什么?1.mongo的体系结构2.mongoDB的特点(或使用场景)3.mongoDB与mysql、redis对比4.mongoDB存储原理二、使用docker安装mongo1.安装2.创建用户3.连接、测试三、SpringBoot整合mongoDB四、mongoDB原生使用提示:以下是本... 查看详情

mongodb入门并整合springboot(代码片段)

1.MongoDb简介MongoDb是一种非关系型数据库,是现在非常火热的noSQL。也被称为文档性数据库。(可存放json,xml等格式)mongodb与mysql命令对比传统的关系数据库一般由数据库(database)、表(table)、记录... 查看详情

Mongodb update() 与 findAndModify() 性能对比

】Mongodbupdate()与findAndModify()性能对比【英文标题】:Mongodbupdate()vs.findAndModify()performance【发布时间】:2015-09-2507:05:10【问题描述】:对于不断增长的文档,我可以选择使用update()或findAndModify()来在数组字段中插入新元素。但是,fi... 查看详情

mongodb操作(代码片段)

MongoDB操作(3)​学习资料:B站传智最新python课程-python就业班文章目录MongoDB操作(3)一.数据备份与恢复1.备份2.恢复二.MongoDB的聚合命令聚合1.三个常用管道命令常用表达式:①$group比如,按照性别(gender)进行分组:集合中... 查看详情

oracle与mysql的区别(对比学习)(代码片段)

Oracle与Mysql的区别(对比学习)使用范围Oracle是大型的数据库。Oracle是收费的,且价格昂贵Mysql是中小型数据库。Mysql是开源的安装部署Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能Mysql安装完后才152M端... 查看详情

mysql从入门到精通高级篇mysql表的存储引擎,innodb与myisam的对比(代码片段)

您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。💪🏻1.Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。Python从入门到精通❤️2.Python爬虫专栏,系统性的学习爬虫... 查看详情

mysql从入门到精通高级篇mysql表的存储引擎,innodb与myisam的对比(代码片段)

您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。💪🏻1.Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。Python从入门到精通❤️2.Python爬虫专栏,系统性的学习爬虫... 查看详情