MongoDB shell操作

MongoDB shell操作

实验目的

1.了解MongoDB的shell操作语法

2.掌握MongoDB中对数据增删改查的命令

实验原理

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

01.png

实验环境

Linux Ubuntu 16.04jdk-7u75-linux-x64mongodb-linux-x86_64-3.4.2## 实验内容
练习在MongoDB中创建集合、删除集合、插入数据、更新数据、删除数据、查询数据等。## 实验步骤

1.启动MongoDB shell。

mongo

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

use admin
db.auth('root','strongs')

02.png

3.查看当前数据库状态。

db.stats()

03.png

4.显示当前MongoDB版本。

db.version()

04.png

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

show dbs

05.png

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

use mydb

06.png

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

db.createCollection('mycollection')

07.png

8.查询所有数据库。

show dbs

08.png

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

show collections

09.png

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

db.mycollection.insert({'username':'zhangyu','age':13,'salary':500});
db.mycollection.insert({'username':'zhangyu','age':13,'salary':500});
db.mycollection.insert({'username':'laohu','age':20,'salary':200});
db.mycollection.insert({'username':'xiongmao','age':8,'salary':300});

10.png

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

post = {name: 'zhangyu',
    description: 'BIGDATA',
    by: 'YXCX',
    tags: ['mongodb', 'database', 'NoSQL'],
}

db.mycollection.insert(post)

11.png

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

db.mycollection.insert({
    _id : "10000001",
    name: 'MongoDB',
    description: 'DATABASE',
    by: '10gen',
    tags: ['mongodb', 'database', 'NoSQL'],
})

12.png

13.查询集合mycollection中的数据。

db.mycollection.find()

13.png

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。

db.mycollection.update({username:'zhangyu'},{$set:{salary:600}},false,true)

14.png

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

db.mycollection.update({username:'zhangyu'},{$inc:{age:1}},false,true)

15.png

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

16.更新_id为10000001的数据。

db.mycollection.save({
    _id:'10000001',
    name: 'Mysql',
    description: 'DATABASE',
    by: 'Oracle',
    tags: ['Oracle', 'database', 'SQL'],
})

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

db.mycollection.find()

16.png

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

db.mycollection.remove({username:'xiongmao'})

17.png

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

db.mycollection.remove({})

18.png

删除语法如下:

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

参数说明:query :(可选)删除的文档的条件。justOne : (可选)如果设为 true 或 1,则只删除一个文档。默认falsewriteConcern :(可选)抛出异常的级别。

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

db.mycollection.renameCollection('mcollection')

19.png

21.删除集合mcollection。

db.mcollection.drop()

20.png

22.删除当前数据库。

db.dropDatabase()

21.png

至此,实验结束!

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB ShellMongoDB数据库的官方命令行工具,它提供了一个交互式的环境,可以与MongoDB数据库进行交互和管理。通过MongoDB Shell,你可以执行各种数据库操作,如查询、插入、更新和删除数据,创建和管理集合、索引等。 MongoDB Shell使用JavaScript语言编写,因此你可以使用JavaScript语法来操作数据库。它提供了一些内置的命令和方法,用于执行各种数据库操作。以下是一些常用的MongoDB Shell命令操作: 1. 连接到数据库使用`mongo`命令可以连接到MongoDB数据库。例如,`mongo --host <hostname> --port <port>`可以连接到指定的主机和端口上的数据库。 2. 切换数据库使用`use <database>`命令可以切换到指定的数据库。例如,`use mydb`可以切换到名为"mydb"的数据库。 3. 查询数据:使用`db.<collection>.find(<query>)`命令可以查询指定集合中符合条件的数据。例如,`db.users.find({ age: { $gt: 18 } })`可以查询年龄大于18岁的用户数据。 4. 插入数据:使用`db.<collection>.insert(<document>)`命令可以向指定集合中插入数据。例如,`db.users.insert({ name: "John", age: 25 })`可以插入一个名为"John"、年龄为25岁的用户数据。 5. 更新数据:使用`db.<collection>.update(<query>, <update>)`命令可以更新指定集合中符合条件的数据。例如,`db.users.update({ name: "John" }, { $set: { age: 30 } })`可以将名为"John"的用户的年龄更新为30岁。 6. 删除数据:使用`db.<collection>.remove(<query>)`命令可以删除指定集合中符合条件的数据。例如,`db.users.remove({ age: { $lt: 18 } })`可以删除年龄小于18岁的用户数据。 这些只是MongoDB Shell的一些基本操作,还有很多其他的命令和功能可以用于更复杂的数据库操作和管理。如果你想了解更多关于MongoDB Shell的信息,可以参考MongoDB官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值