MongoDB Shell 指令案例小结【升阶篇】

摘要: MongoDB Shell 指令案例小结【升阶篇】|频道:MongoDB|点一下: 次文中案例叙述了MongoDB Shell 指令。共享给大伙儿供大伙儿参照,实际以下:初始文档请到我的github上来免费下载:yangqingxi...

MongoDB Shell 指令案例小结【升阶篇】 |频道:MongoDB|点一下: 次

文中案例叙述了MongoDB Shell 指令。共享给大伙儿供大伙儿参照,实际以下:

初始文档请到我的github上来免费下载:yangqingxian/mongodb

这儿先讲几个事:

1、它是第三次改动本文了,也是第一次正真实际意义上的应用 github 来操纵版本号,想一想還是有点儿小兴奋的:)
2、在其中的內容构造与 mongodb基本指令是一致的,只不过是加上了许多內容进来,可用于想进一步学习培训mongodb数据信息库的人
3、我实际上也是小白,因此我能用很白目地語言来表述在其中的內容,假如你也跟我一样,那么就二只鸟一起降吧
4、接下去的內容均就是我对《MongoDB绝大多数据权威性手册(第二版)》的摘记
5、在其中的指令事例并沒有事前建立好数据信息库、结合,全是要采用的情况下临时性写的,留意了解

mongodb数据信息库构造与传统式关联型数据信息库的较为,有利于了解接下去的內容

数据信息库- 结合- 文本文档
数据信息库- 表  - 列

--------------------数据信息库內容------------------

查询全部数据信息库

show dbs

删掉数据信息库

db.dropDatebase()

--------------------结合內容--------------------

建立结合

db.createCollection()

查询全部结合\表

show collections
show tables

选中某一结合

use db_name

查询结合的信息内容

db.stats()

删掉一个结合,可是必须先特定一数量据库,即先实行 use db_name

db.dropDatabase()

改动结合的名字

db.collection_name.renameCollection('new_name')

----------------------文本文档內容---------------------

插进数据信息

db.collection_name.insert(document)
db.collection_name.save(document)

查寻数据信息好几条数据信息

db.collection_name.find()

1、能够特定回到的內容

主要参数表述

db.collection_name.find(
{query_term:value},
return_key_name:1}

a find()涵数的第一个主要参数是查寻标准,即配对该內容的文本文档都是被挑选出去,假如沒有查寻标准,则键入{},不能认为空
b find()涵数的第二个主要参数就是指定回到的內容,比如一个student的结合中的一个xiaoming文本文档中包括好几条內容,名字、学员号、家中家庭住址等,如今我只为看名字,不愿查寻的情况下回到xiaoming文本文档的所有內容,便可令其用这类'键名:1'的方式,后边的1表明挑选出该內容并正序輸出,0表明挑选出除开该內容的其他一部分,-1表明逆序跟1一样的結果
c 能够回到好几条纪录,这儿仅仅举个案子,還是拿ixaoming的事例

'name':1,
'student_id':1

那样就回到了2个信息内容,一个name,一个student_id

2、查寻嵌套循环信息内容

融合二维数字能量数组了解下边的这一信息内容

'name':'yang',
'sex':'man',
'skill':[
{'php':1},
{'mongodb':4},
{'redis':5}
'favorite_food':'meat'

在其中假如应用skill来做为find()的查寻标准得话,干万别写出那样

---不正确事例---

db.self.find({'skill':[{'php':1}]})

那样是查不上的,由于那样mongodb会将{'skill':[{'php':1}]}分析成skill数字能量数组下只包括'php':1这一条纪录的內容,上边的事例显著不符合合这一规定,因此查寻不上

---恰当的事例---

db.self.find({'skill.php':1})

这儿应用了 . 告知mongodb数据信息库去配对skill数字能量数组下php为1的內容,关键取决于skill下是不是有'php':1这一条纪录

---恰当事例2---

假如一定要应用上边的不正确事例的方法查寻数据信息,可使用$elemMatch主要参数,留意该主要参数应用的部位

db.self.find({
'skill':{$elemMatch:
{'php':1}

这儿的$elemMatch是做为标准实际操作符来应用的

查寻一条数据信息

db.collection_name.findOne()

 

skip 绕过查寻的最初的总数,limit,限定回到总数,sort,当 x:1 表明正序,x:-1 表明逆序

db.collection_name.find().skip(Number).limit(Number).sort({x:1})

测算合乎查寻标准的文本文档的总数

db.collection_name.find().count()

count()涵数默认设置状况下能忽视skip()或limit()涵数,比如假定student结合中有4个文本文档,下边的三条句子将显示信息不一样的結果

db.student.find().limit(1).count() 結果为4,count忽视了limit(1)的标准

db.student.find().limit(1).count(true) 結果为1,为count()传到主要参数true

获得結果的唯一值

db.collection_name.distinct('key_name')
共4页: 上一页1234下一页


联系我们

全国服务热线:4000-399-000 公司邮箱:343111187@qq.com

  工作日 9:00-18:00

关注我们

官网公众号

官网公众号

Copyright?2020 广州凡科互联网科技股份有限公司 版权所有 粤ICP备10235580号 客服热线 18720358503

技术支持:快速建站cms