MongoDB基本操作命令

MongoDB基本操作命令

工具:RoboMongoDB 1.0
特别说明:本文并非作者原创,文中内容来自于《NoSQL数据库原理与应用》(王爱国,许桂秋主编)书中的第五章!!!
注意,那些符号都是英文输入法输入!!!

基本操作

1、创建数据库,如果已经存在直接连接
(注意:对某个数据库操作之前,一定要用use切换至该数据库,否则出错)

use test   

2、查看当前数据库列表

show dbs  

3、删除当前数据库

db.dropDatabase()   

4、查询当前数据库下所有集合

db.getCollectionNames()   

5、创建集合(显式)

db.createCollection("zhutou")   

6、创建集合(隐式),whj 是我的集合名

db.whj.insert({"name":"tom"})

7、查看集合详细信息

show collections   

8、对集合进行重命名

db.zhutou.renameCollection("dazhutou")   

9、删除集合

db.dazhutou.drop()  

(db为数据库名,可直接用db表示当前数据库,collection为集合名,insert为插入文档命令,三者之间用“.”连接。(db.collection.insert))


插入

10、插入文档

db.whj.insert({item:"ccc",age:15})   

11、查询集合中的数据,每次操作完数据后用此命令查看

db.whj.find()       

12、用变量方式插入文档
document为变量名

document=({name:"张三",age:18})  
db.whj.insert(document)

此方式较高MongoDB版本才可实现,低版本报错无法运行
一般操作较多用直接插入文档,不用变量方式插入文档

13、插入多条文档需要用到 [ ] ,文档用花括号包起来,文档之间用逗号隔开
注意,都是英文输入法输入

db.whj.insert(
[
    {_id:11,item:"aa",age:20},
    {_id:12,item:"aa",age:30},
    {item:"aa",age:40}   
    //未指定_id,系统会为文档插入默认_id字段
] 
)

14、插入文档

插入一条文档

db.collection.insertOne()  

插入多条文档

 db.collection.insertMany()   

更新

15、更新操作

db.whj.update(    // 更新操作
{
    _id:11},    // 11是数字,不是字符串,不需要引号
{
    $set:{age:21}   // 修改age的20为21,
    }
)

16、
colation特性允许MongoDB的用户根据不同的语言定制排序规则, 在Mongo DB中字符默认当作一个普通的二进制字符串来对比。而对于中文名称,通常有按拼音顺序排序的需求,这时就可以通过colation来实现。创建集合时,指定collation为zh,按name字段排序时, 则会按照collation指定的中文规则来排序, 代码如下:

db.createCollection("peason",{collation:{locale:"zh"}})   
// 创建集合并指定语言

db.person.insert({name:"张三"})
db.person.insert({name:"李四"})
db.person.insert({name:"王五"})
db.person.find().sort({name:1})   
// 查询集合中的数据

查询返回结果的顺序依次是 李四、王五、张三

17、更新还可以用save( )

db.person.save({_id:15,item:"aa"})     
// 之前没有,此操作意义为插入

db.person.save({_id:15,item:"bb"})    
// 把"aa"更新为"bb"

删除

18、删除操作

db.whj.insert(
{
    title:"MongoDB",
    price:69
    }
    )   // 先连续插入此文档两次
db.whj.remove({title:"MongoDB"})   
// 此操作会删除满足条件的文档两条
// 也就是刚刚插入的

19、条件删除

db.whj.remove({price:{$gt:15}})   
// 可以设置比较条件,删除price大于15的文档

20、delete方法

db.whj.deleteMany({})   
// 删除集合下所有文档

db.whj.deleteMany({status:"A"})   
// 删除status等于A的全部文档

db.whj.deleteOne({status:"B"})    
// 删除status等于B的一个文档

这种delete方法的官方推荐的


查询

21、查询操作

db.person.find()  
// 查询person集合的文档
db.person.find().pretty()   

此方法会比上面一种返回更为直观好看的数据,当然这是你在dos命令窗口的需要,在 Robomongo 这个软件上并无区别

db.person.find(query,projection)   
// query是查询条件,projection是指定返回字段
db.person.findOne()   //只返回一个文档

22、具体根据条件进行查询的操作不再细说,这里说一个操作符格式
在这里插入图片描述
重点在于理解,不要死记硬背


23、其他操作

db.person.find().limit(2)    
// 限制查询次数,只返回最先匹配到的两个

db.person.find().skip(1)    
// 略过指定个数文档

db.person.find().sort({"price":1})   
// 对查询结果进行排序,1是升序,-1是降序

如果对你有帮助,麻烦大佬点个赞,感谢感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值