当前位置:首页 >> 动力

一文45分钟随身携带你MongoDB从入门到高阶,一步到位

来源:动力   2025年01月04日 12:16

/p>NoSQLBooster(mongobooster)

NoSQLBooster是MongoDBCLI界面之中不够加流讫的GUI方法。它年末名称为MongoBooster。NoSQLBooster是一个应用软件,它比如说一堆mongodb方法来监管图此表库和监测服务器。这个Mongodb方法以外服务器监测方法,VisualExplainPlan,浏览构建器,SQL浏览,ES2017语法赞同等等......它有在线,个人和商业旧版本,当然,在线旧版本有一些机制限制。NoSQLBooster也受限制于Linux、Mac或Windows。

MongoDB基础性管理系统设计

1. 图此表库与论域

1.1 查看图此表库

show dbs;

1.2 切换图此表库(如果没有人对于图此表库则如此一来立)

use 图此表库名;

1.3 查看论域

show tables;#或者show collections;

1.4 删去论域

db.论域名.drop();

1.5 删去也就是说图此表库

db.dropDatabase();

2. 图此表凡例改查

另加

2.1 图此表另加

db.user.insert({name:"巧合",bithday:new ISODate("2020-09-01"),expectSalary:15000,gender:0,city:"bj"});

2.2 另加多条

db.user.insert([{name:"好在",bithday:new ISODate("2020-09-01"),expectSalary:18000,gender:0,city:"bj"},{name:"敖",bithday:new ISODate("2020-09-01"),expectSalary:25000,gender:0,city:"bj"}]);

浏览

2.3 比起必要条件浏览

db.论域名.find(必要条件)

解释器:

db.user.find({expectSalary:{$gt:18000}})

2.4 逻辑上必要条件浏览

and 必要条件

MongoDB的find()方法可以中叶多个key,每个key彼此之间用逗号隔开,多个key彼此之间是and的彼此间

or 必要条件

db.论域名.find({$or:[{key1:value1}, {key2:value2}]})

not必要条件

db.论域名.find({key:{$not:{$管理系统设计符:value}})

解释器:

db.user.find({city:"bj",expectSalary:{$gt:15000}}) db.user.find({$or:[{city:"bj"},{expectSalary:{$gt:15000}}]});

2.5 分页浏览

db.论域名.find({必要条件}).sort({依序正则此变量:依序作法})).skip(跳过的讫总共).limit(一页此表明多少图此表)

解释器:

db.user.find().sort({expectSalary:1}).limit(3)

依序时1亦然升序,-1亦然每颗。

修订

2.6 图此表不够换

语法:

$set :增设正则此变量值$unset :删去指明正则此变量$inc:对修订的值进讫自增db.论域名.update( , , { upsert: , multi: boolean>, writeConcern: })

总共值概述:

query:update的浏览必要条件,相似sql全都update表达式where左边那段update,update的单纯和不够换的管理系统设计符。$set、$inc等upsert:可选,如果不普遍存在的详细描述,到底另加。true:另加;false:不另加multi:可选,普通用户是false,只不够换浏览到的第一条详细描述,true:亦然把浏览出来的多条详细描述都不够换。writeConcern:可选,用来指明mongo对寄给管理系统设计的返执讫为。

解释器:

db.user.update({name:"巧合"},{$set:{gender:1}},{multi:true})

删去

2.7 图此表删去

语法:

db.论域名.remove( , { justOne: , writeConcern: })

总共值概述:

query:删去的软件包的必要条件justOne:如果设为true或1,则只删去一个软件包,如果不增设该总共值或用到普通用户值false,则删去浏览到的所有软件包。writeConcern:用来指明mongo对寄给管理系统设计的返执讫为

解释器:

db.user.remove({name:"敖"})MongoDB交联管理系统设计

交联是MongoDB的高级别浏览语言,它而无须我们通过转化重组由多个软件包的图此表来生如此一来新的在单个软件包里头不普遍存在的软件包讯息。一般都是将详细描述按必要条件以此类推最后进讫一系列以求最小值、最小值、均值的最简单管理系统设计,也可以对详细描述进讫复杂图此表统计资料、计算机网络的管理系统设计。交联管理系统设计的重定向是集之中的软件包,重定向可以是一个软件包也可以是多个软件包。

单目标交联管理系统设计

常用命令:count()

db.user.find().count();

交联管线

db.论域名.aggregate(管理系统设计)

MongoDB之中交联(aggregate)主要主要用途统计资料图此表(诸如统计资料均值、以称臣等),并返返算出后的图此表结果。此变量:执行重定向软件包并重定向。此变量只能主要用途算出也就是说交联管线的软件包,没法执行其它的软件包。

交联少见管理系统设计:

管理系统设计

描述

$group

将论域之中的软件包以此类推,可主要用途统计资料结果。

$project

修订重定向软件包的结构。可以用来重命名、增加或删去域,也可以主要用途如此一来立算出结果以及数据结构软件包。

$match

主要用途漂白图此表,只重定向符合必要条件的软件包。$match用到MongoDB的常规浏览管理系统设计。

$limit

用来限制MongoDB交联管线返返的软件包总共。

$skip

在交联管线之中跳过指明总共目标软件包,并返返直至的软件包。

$sort

将重定向软件包依序后重定向。

$geoNear

重定向比起某一地理位置的有序软件包。

此变量:执行重定向软件包并重定向。此变量只能主要用途算出也就是说交联管线的软件包,没法执行其它的软件包。

此变量

描述

$sum

算出大于

$g

算出均值

$min

赚取论域之中所有软件包对应没人最小值

$max

赚取论域之中所有软件包对应没人最小值

$push

在结果软件包之中插入值到一个数据结构之中

$addToSet

在结果软件包之中插入值到一个数据结构之中,但图此表不重复

$first

根据海洋资源软件包的依序赚取第一个软件包图此表

$last

根据海洋资源软件包的依序赚取终于一个软件包图此表

解释器:

db.user.aggregate([{$group:{_id:"$city",gSal:{$g:"$expectSalary"}}},{$project:{city:"$city",salary:"$gSal"}}]);db.user.aggregate([{$group:{_id:"$city",gSal:{$g:"$expectSalary"}}},{$match:{gSal:{$gt:440}}}]);db.user.aggregate([{$limit:2},{$sort:{expectSalary:-1}},{$group:{_id:"$name",gSal:{$g:"$expectSalary"}}}]);

MapReduce编程模HG

Pipeline浏览速度快于MapReduce,但是MapReduce的庞大之处在于能够在多台Server上并讫执讫复杂的交联逻辑上。MongoDB不而无须Pipeline的单个交联管理系统设计占用过多的管理系统寄存器,如果一个交联管理系统设计消耗20%以上的寄存器,那么MongoDB实际上中断管理系统设计,并向HTTP重定向错误第一时间。

MapReduce是一种算出模HG,最简单的说是就是将大批量的指导工作(图此表)分解(MAP)执讫,然后再行将结果重组如此一来再一结果(REDUCE)。

db.collection.mapReduce( Function() {emit(key,value);}, //map formula_ function(key,values) {return reduceFunction}, //reduce formula_ { out: collection, query: document, sort: document, limit: number, finalize: , verbose: })

用到MapReduce要实现两个formula_Mapformula_和Reduceformula_,Mapformula_调用emit(key,value),查找collection之中所有的详细描述,将key与value发送到给Reduceformula_进讫执行。

总共值概述:

out:统计资料结果存放论域query:一个筛选必要条件,只有满足必要条件的软件包才则会调用mapformula_sort:和limit建构的sort依序总共值limit:发往mapformula_的软件包总共目限额finalize:可以对reduce重定向结果再行一次修订verbose:到底以外结果讯息之中的时间讯息,普通用户为false

解释器:

db.user.mapReduce(function(){emit(this.city,this.expectSalary);},function(key,value){return Array.g(value)},{query:{expectSalary:{$gt:15000}},out:"cityAvgSal"})

书山有路勤为径,学海无涯苦作舟

手指关节僵硬是什么原因
小孩消化不好怎么调理
轻度中暑怎么解决
江中初元公司
艾司奥美拉唑多少钱
什么家用血糖仪好用
胃反酸吃什么药好
新冠腹泻吃肠炎宁有用吗
家用血糖仪怎么选
什么血糖仪家用比较好
友情链接