MongoDB的shell操作

MongoDB shell是MongoDB自带的一个交互式JavaScript shell,能够访问、配置和管理MongoDB数据库、用户等。使用这个shell可执行各种任务,从设置用户账户
到创建数据库,再到查询数据库内容,无所不包。

启动MongoDB shell

MongoDB shell是一个可执行的文件,位于MongoDB安装路径下的/bin文件夹中。可执行命令mongo

./mongo --port 27017

这里写图片描述

这里写图片描述

help <option> : 显示MongoDB shell命令的语法帮助。参数option能够指定需要哪方面的帮助,如 db、 collection或cursor

use <database> : 切换数据库

show <option> : 根据参数option显示一个列表。参数option的可能取值如下。
         dbs : 显示数据库列表
         collections :显示当前数据库中的集合列表
         users : 显示当前数据库中的用户列表
         profile : 显示system.profile中时间操作1毫秒的条目。

log [name] : 显示内存中日志最后一部分,如果没有指定日志名,则默认为global

exit : 退出MongoDB shell


查询选择器

$lte 表示的是小于或等于

查询id为9的

db.customers.find({id:9})

查询name=tome并且age=20的

db.customers.find({name:"tom",age:20})

$lt 表示的是小于

查询年龄小于25的

db.customers.find({age:{$lt:25}})

$lte 表示的是小于或等于

查询年龄小于等于28的

db.customers.find({age:{$lte:28}})

$gt 表示的是大于

$gte表示的是大于或等于

查询年龄大于25且小于或等于30的

db.customers.find({age:{$gt:25,$lte:30}})

增删改查

插入语句

db.customers.insert({id:1,name:"tom",age:20,mobile:'15864710523',address:"青岛市",create_time:new Date()})

修改语句

update修改分为两种,一种是只针对具体的目标字段,其他不变;另一种是取代性的更改,即修改具体目标字段后,其他的字段会被删除。

update语法格式如下:

db.collection.update(query, update, , )

query 参数是一个查询选择器,值类型为document

update 参数为需要修改的地方,值类型为document,如果update参数只包含字段选项,没有操作符,则会发生取代性的更改。

upsert 为一个可选参数,boolean类型,默认值为false。当值为true时,update方法将更新匹配到的记录,如果找不到匹配的文档,则将插入一个新的文档到集合中。

multi 为一个可选参数,boolean类型,表示是否更新匹配到的多个文档,默认值为false,此时update方法只会更新匹配到的第一个文档;当为true时,update方法将更新所有匹配到的文档。

1、更改指定的字段

db.customers.update({name:"tom"}, {$set:{name:"tomcat"},$inc:{age:5}})

这个操作将更改集合中与name:”tom”匹配的第一个文档,将其中的字段name设置为”tomcat”,字段age增加5,其它字段保存不变。

2、更改指定字段而且其它字段被 清除掉

db.customers.update({name:"tomcat"}, {name:"weblogic"})

3、更改多个文档中的指定字段

db.customers.update({name:"tom1"}, {$set:{address:"山东省 青岛市"}}, {multi:true})

由于利用了可选参数multi,这个操作将更改集合中与name:”tom1”匹配的所有文档,将其中的字段address设置为。。,其它字段不变

4、update找不到匹配的文档时则插入新文档

db.customers.update({name:"ipad"}, {$set:{age:30}}, {upsert:true})

因为利用了可选参数upsert,这个操作如果找不到匹配的文档,就回插入新的文档。

删除语句

remove方法的格式如下:

db.collection.remove(, )

query 为可选参数,查询选择器,类型关系数据库中的where条件语句。

justOne 参数也是可选参数,是一个boolean类型的值,表示是否只删除匹配的一个文档,相当于关系数据库中的limit 1 条件

如果remove没有指定任何参数,它将删除集合中的所有文档,但是不会删除集合对应的索引数据。如果想删除集合中的所有文档,同时也删除集合的索引,可以使用MongoDB针对集合提供的drop方法。

1、删除匹配的所有文档

db.customers.remove({name:"weblogic"})

2、删除匹配的第一个文档

db.customers.remove({id:5}, 1)

3、删除所有文档,但不会删除索引

db.customers.remove({})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值