关键词:
我们总是在对比中看到自己的优点和缺点,对于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, lt,lte, g t , gt, gt,gte
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查询 type查询type值为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爬虫专栏,系统性的学习爬虫... 查看详情