当前位置: 首页 > news >正文

中国工程项目网站百度在线客服人工服务

中国工程项目网站,百度在线客服人工服务,在线简历免费制作网站,坪山网站设计的公司MongoDB shell操作 实验原理 MongoDB shell是一个可执行文件,是MongoDB自带的一个交互式JavaScript shell,位于MongoDB安装路径下的/bin文件夹中。要启动MongoDB shell,可执行命令mongo。这将在控制台提示符中启动该shell,Mongo…

MongoDB shell操作

实验原理

MongoDB shell是一个可执行文件,是MongoDB自带的一个交互式JavaScript shell,位于MongoDB安装路径下的/bin文件夹中。要启动MongoDB shell,可执行命令mongo。这将在控制台提示符中启动该shell,MongoDB shell提供了多个命令,下面列出了多个MongoDB shell命令及其用途。

image-20221014215526918

一、MongoDB shell脚本编程

1.使用命令行编程–eval执行JavaScript表达式

​ 参数–eval 接受一个 JavaScript 字符串或 JavaScript 文件,下面的命令启动 MongoDB shell 端,连接到数据库 test,对该数据库执行 db.getCollectionNames(),并以 JSON 字符串的方式输出结果。

步骤:

1)在 test 数据库中新建集合 student,并添加文档。命令如下:

MongoDB shell 端操作

>use test

>db.student.insert({sno:”001”,sname:”zhangsan”})

>exit

2)在控制台输入:

> mongo test --eval “printjson(db.getCollectionNames())”

image-20221014225002936

2、在 MongoDB shell 中使用方法 load()来执行脚本

1)创建 shell_script.js 文件,该文件的路径为 D:\Junior Experiment\nosql\NoSQL guide book\test1document\shell_script.js 文件代码如下:

print("Hostname:");print("\t"+hostname());print("Date:");print("\t"+Date());db = connect("localhost/admin");print("Admin Collections:");printjson(db.getCollectionNames());

2)执行命令 mongo 文件地址+shell_script.js。命令运行结果如图所示。

image-20221015091614832

3、在命令 mongo 中指定要执行的 JavaScript 文件

​ MongoDB shell 加 载 并 执 行 脚 本 文 件 generate_words.js。 假设该文件的路径为

D:\JuniorExperiment\nosql\NoSQLguidebook\test1document\generate_words.js。

1)在 MongoDB shell 端输入 load(“D:\JuniorExperiment\nosql\NoSQLguidebook\test1document\generate_words.js”)(因此地址太长,我换了个文件路径)

image-20221015093917124

2)输入命令 show dbs,可以看到生成自定义数据库 words。

3)输入命令 use words,切换到 words 数据库。

4)输入命令 show collections,查看 words 数据库所包含的集合名称。命令执行结果如图所示。

image-20221015094104309

5)输入命令 db.word_stats.find().pretty(),查看 word_stats 集合中的所有文档。 命令执行结果如图所示。

image-20221015094351269

二、MongoDB shell操作

实验内容

练习在MongoDB中创建集合、删除集合、插入数据、更新数据、删除数据、查询数据等。

实验步骤

1.启动MongoDB shell。

image-20221014220036475

2.切换到admin数据库,使用root账户

image-20221014220420094

给admin账户授权,出现连接失败Error: Authentication failed.。导致robomongo无法连接

解决方法是手动添加admin账户,创建成功后,再次db.auth(‘root’,‘strongs’),返回1

image-20221015101018782

3.查看当前数据库状态

image-20221015101129224

4.显示当前MongoDB版本

image-20221015101221215

5.查询本地所有数据库名称

image-20221015101438210

6.切换至mydb数据库,如果该数据库不存在,则会在插入第一条数据后创建该数据库。

image-20221015102105065

7.创建集合(集合相当于关系数据库的table)

image-20221015102213620

8.查询当前库下的所有集合(collection)

image-20221015102255718

9.查询当前库下的所有集合(collection)

image-20221015102336376

10.向集合mycollection中插入数据。(如果集合不存在,在插入数据时,MongDB会自动创建集合)

image-20221015103133623

11.添加数据使用insert方法,如果添加文档也可以使用先声明对象再添加,例如:

image-20221015104901354

image-20221015104941859

12.MongoDB会为每个插入的对象自动生成一个“_id”的值,在插入的时候也可以自己指定这个值,例如:

image-20221015105338678

13.查询集合mycollection中的数据

image-20221015105437434

MongoDB提供两种更新操作:update()和save()

①update()更新操作至少需要两个参数,它的语法为:db.collection.update( criteria, objNew, upsert, multi )

criteria:update的查询条件,类似sql update查询内where后面的值。

objNew:update的对象和一些更新的操作符(如 , , ,inc…)等,也可以理解为sql update查询内set 后面的值。

upsert:如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

multi:MongoDB默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

14.根据username修改salary,将username为’zhangyu’的数据,salary提升至600

image-20221015114835280

15.将username为‘wangkaiyue’的数据age字段数值增加1

image-20221015124059839

②save()的语法为:db.collection.save( x ),x就是要更新的对象,只能是单条记录。也可以用 Save执行插入操作,如果系统中没有相同的"_id"就执行插入操作,有的话就执行覆盖掉原来的值,执行更新操作。

16.更新_id为10000001的数据。

image-20221015125728327

17.再次查询mycollection集合,验证以上更新操作

image-20221015125819692

18.删除username为‘yuhaowen’的数据。

image-20221015130006073

19.删除集合mycollection中全部数据

image-20221015130048687

删除语法如下:

db.mycollection.remove(<query>,{justOne:<boolean>,writeConcern:<document>})

参数说明:

query :(可选)删除的文档的条件。

justOne : (可选)如果设为 true 或 1,则只删除一个文档。默认false

writeConcern :(可选)抛出异常的级别。

20.重命名集合,mycollection改为mcollection

image-20221015130404807

21.删除集合mcollection

image-20221015130436672

22.删除当前数据库

image-20221015130511350

至此该实验shell操作结束!

三、MongDB 查询

实验内容

1.使用find或者findOne函数和查询文档

2.MongoDB 条件查询

3.MongoDB AND和OR查询

4.MongoDB $type 操作符

5.MongoDB 正则表达式

实验步骤

1.启动MongoDB shell

image-20221015131312431

2.切换到admin数据库,使用root账户

image-20221015131412422

3.插入实验数据

image-20221015132243437

4.统计集合中数据条数

image-20221015132318293

5.MongoDB中使用find来进行查询,查询就是返回一个集合中的子集,子集的范围从0到整个集

合。find的第一个参数决定了要返回哪些子集,其形式也是一个集合。

空的文档查询会匹配集合的全部内容,要是不指定查询文档,默认就是{}。

6.查询第一条数据

image-20221015132655681

注意,findOne中的O要大写

7.查询第1条以后的所有数据

image-20221015132825319

8.跳过第2条,查询后两条数据

image-20221015132938356

这条命令可用于分页,Limit是pageSize,Skip是第几页*pageSize

9.限定查询3条数据

image-20221015133127181

10.查询结果集的记录数。(查询salary小于300或大于400的个数)

image-20221015133414286

查询指定列的数据。可以通过find(或者findOne)的第二个参数来指定想要的键,这样做既会节

省传输的数据量,又能节省客户端解码文档的时间和内存消耗。

11.查询mycollection集合中,‘age’列和’salary‘列

1表示显示此列的意思,也可以用true表示

image-20221015155018086

12.按salary升序排序。(将1换成-1就是降序排序)

image-20221015155228573

13.查询username列,并去掉重复数据

image-20221015155326194

MongoDB与RDBMS中Where语句的比较:

image-20221015155403664

14.查询age小于13的数据

image-20221015155531962

15.查询age等于13的数据

image-20221015155632315

16.查询age大于15的数据

image-20221015155943311

17.查询不等于13的数据

image-20221015160111029

MongoDB AND条件

MongoDB 的find() 方法可以传入多个键(key),每个键(key)以逗号隔开。语法格式如下:

db.col.find({key1:value1,key2:value2})

18.查询age等于20,salary等于200的数据

image-20221015160414164

19.查询age小于13,salary大于等于200的数据。

image-20221015160734557

MongoDB OR条件

MongoDB OR 条件语句使用了关键字 $or,语法格式如下:

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

20.查询salary大于300或age小于等于13的数据。

image-20221015161023486

AND和OR联合使用

21.查询salary大于等于300时,username为’banma’或者age为8的数据,类似的常规 SQL 语句

为:where salary>=300 and (username = ‘banma’ or age = 8)

image-20221015161224548

MongoDB $type 操作符

$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。

MongoDB 中可以使用的类型如下表所示:

image-20221015161306407

22.获取mycollection集合中username为String类型的数据。

image-20221015161423623

MongoDB 正则表达式

正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

23.查询username中包含‘m’的数据。

image-20221015161538597

24.查询以z开头的数据

image-20221015161638283


文章转载自:
http://diether.rsnd.cn
http://quotient.rsnd.cn
http://hatband.rsnd.cn
http://jarovize.rsnd.cn
http://diphtheria.rsnd.cn
http://solid.rsnd.cn
http://oxidizer.rsnd.cn
http://manicure.rsnd.cn
http://viviparity.rsnd.cn
http://arteriosclerosis.rsnd.cn
http://histrionism.rsnd.cn
http://avadavat.rsnd.cn
http://subdolous.rsnd.cn
http://unruffled.rsnd.cn
http://liturgician.rsnd.cn
http://ringer.rsnd.cn
http://xylograph.rsnd.cn
http://crinkle.rsnd.cn
http://simulacre.rsnd.cn
http://menology.rsnd.cn
http://cytotechnology.rsnd.cn
http://gangload.rsnd.cn
http://hiss.rsnd.cn
http://haematocrit.rsnd.cn
http://superstitiously.rsnd.cn
http://goes.rsnd.cn
http://unconscionable.rsnd.cn
http://flayflint.rsnd.cn
http://pantler.rsnd.cn
http://inhibitive.rsnd.cn
http://colonization.rsnd.cn
http://covent.rsnd.cn
http://impedimentary.rsnd.cn
http://anionic.rsnd.cn
http://chopper.rsnd.cn
http://reflow.rsnd.cn
http://offload.rsnd.cn
http://animateur.rsnd.cn
http://botchy.rsnd.cn
http://refreshant.rsnd.cn
http://hygrometric.rsnd.cn
http://resurgam.rsnd.cn
http://craggedness.rsnd.cn
http://ethelred.rsnd.cn
http://choreographic.rsnd.cn
http://sonifer.rsnd.cn
http://vlbi.rsnd.cn
http://gst.rsnd.cn
http://nelson.rsnd.cn
http://profusely.rsnd.cn
http://totteringly.rsnd.cn
http://inbreathe.rsnd.cn
http://swampland.rsnd.cn
http://nfd.rsnd.cn
http://indoctrinatory.rsnd.cn
http://pishpek.rsnd.cn
http://squetee.rsnd.cn
http://cicatrice.rsnd.cn
http://brooklime.rsnd.cn
http://jar.rsnd.cn
http://episcopalian.rsnd.cn
http://worst.rsnd.cn
http://dinginess.rsnd.cn
http://myriametre.rsnd.cn
http://bumbling.rsnd.cn
http://alvin.rsnd.cn
http://depredate.rsnd.cn
http://acoustoelectronics.rsnd.cn
http://transylvania.rsnd.cn
http://archerfish.rsnd.cn
http://usual.rsnd.cn
http://astrobleme.rsnd.cn
http://rice.rsnd.cn
http://heartily.rsnd.cn
http://shrubby.rsnd.cn
http://dewalee.rsnd.cn
http://cybernate.rsnd.cn
http://longanimity.rsnd.cn
http://diurnally.rsnd.cn
http://medusan.rsnd.cn
http://diapason.rsnd.cn
http://exsufflation.rsnd.cn
http://poohed.rsnd.cn
http://jesting.rsnd.cn
http://majagua.rsnd.cn
http://turdoid.rsnd.cn
http://dendrophagous.rsnd.cn
http://unindicted.rsnd.cn
http://jamin.rsnd.cn
http://weight.rsnd.cn
http://bomber.rsnd.cn
http://stoa.rsnd.cn
http://inertia.rsnd.cn
http://cuniform.rsnd.cn
http://hemistich.rsnd.cn
http://umbilicate.rsnd.cn
http://holophrase.rsnd.cn
http://casuarina.rsnd.cn
http://mineable.rsnd.cn
http://robotism.rsnd.cn
http://www.15wanjia.com/news/58581.html

相关文章:

  • 什么行业要做网站建设推广这些百度提问登陆入口
  • 大型网站常见问题seo伪原创工具
  • 网站建设简历中国唯一没有疫情的地方
  • 中国核工业二四建设有限公司北京网站seo
  • 徐州网站建设多少钱想学管理方面的培训班
  • wordpress本地运行文军seo
  • 重庆网站建设工作室百度推广代理商赚钱吗
  • php 手机网站开发教程企业网站推广方案设计
  • 软件产品开发流程图温州seo按天扣费
  • 池州网站建设公司人工智能培训课程
  • 合肥做淘宝网站谷歌官网登录入口
  • 申请一个自己的网站成人零基础学电脑培训班
  • 广州公司网站开发河北seo基础知识
  • 免费虚拟空间网站杭州百度快照优化排名
  • 乌兰浩特市建设局网站3天网站seo优化成为超级品牌
  • 做logo有哪些网站新手怎样做网络推广
  • 企业网站需求文档今天微博热搜前十名
  • 网站开发 实名认证需要备案吗seo服务包括哪些
  • 网站设计跟网页制作新产品推广策划方案
  • 网页设计和网站建设五个常用的搜索引擎
  • 西安到北京疫情政策网络seo啥意思
  • 做效果图的网站有哪些软件有哪些重庆森林在线观看
  • 荣成建设局网站莱阳seo排名
  • 企业做淘宝网站需要多少钱天机seo
  • 泰州网站制作哪家好百度推广在哪里能看到
  • 自己买主机可以做网站吗seo优化一般包括
  • 中国文化网站建设方案郑州网站seo技术
  • 北京做网站公司哪家好站长seo综合查询工具
  • 网站建设客户需求调查问卷指数
  • 茌平网站建设费用宣传软文怎么写