MongoDB学习(二)常用操作


(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/54235567 冷血之心的博客)

MongoDB学习(一)简介、安装与启动

MongoDB学习(三)索引、备份、恢复和导入导出操作

MongoDB学习(四)安全和认证、主从集群、副本集和分片操作  

 

 

MongoDB常用操作如下:

(1)创建数据库,使用命令 use 数据库名称 ,如:usemydb1

       use 命令后跟的数据库名,如果存在就进入此数据库,如果不存在就创建,所以这种创建方式又叫隐式创建
注意:使用命令use mydb1创建数据库后,并没有真正生成对应的数据文件,如果此时退出,此数据库将被删除,只有在此数据库中创建集合后,才会真正生成数据文件



(2)删除当前数据库,使用命令 db.dropDatabase()



(3)查看所有数据库,使用命令 show dbs



(4)查看当前所在数据库,使用命令 db



(5)查看当前数据库中所有的集合,使用命令 show collections 或使用show tables



(6)创建集合有两种方式,显示创建和隐式创建
显示创建可以使用命令 db.createCollection(“集合名称")
隐式创建可以使用命令 db.集合名称.insert({}),指创建集合并同时向集合中插入数据,例如:db.customer.insert({name:”jack”})



(7)向集合添加文档,使用命令 db.集合名称.insert({}),例如:db.user1.insert({name:”jack”,age:20})




(8)删除集合中的文档,使用命令 db.集合名称.remove({删除条件}),不加删除条件为删除集合中的所有文档,例如,db.c1.remove() 为删除c1集合中的所有文档,db.c1.remove({name:”user1”})为删除c1集合中name为user1的文档。


(9)查询集合中的文档,可以使用命令 db.集合名称.find({条件}),或者使用 db.集合名称.findOne() 查询第一个文档




(10)查询集合中的文档 ,使用条件表达式(<, <=, >, >=,!=)

//大于: field > value
db.collection.find({field:{$gt:value}});

//小于: field < value
db.collection.find({field:{$lt:value}});

//大于等于: field >= value
db.collection.find({field:{$gte:value}});

//小于等于: field <= value
db.collection.find({field:{$lte:value}});

//不等于: field != value
db.collection.find({field:{$ne:value}});


(11)查询集合中的文档 ,统计(count)、排序(sort)、分页(skip、limit)
db.customer.count();
db.customer.find().count();
db.customer.find({age:{$lt:5}}).count();
db.customer.find().sort({age:1});
db.customer.find().skip(2).limit(3);
db.customer.find().sort({age:-1}).skip(2).limit(3);
db.customer.find().sort({age:-1}).skip(2).limit(3).count();
db.customer.find().sort({age:-1}).skip(2).limit(3).count(0);
db.customer.find().sort({age:-1}).skip(2).limit(3).count(1);


(12)查询集合中的文档 ,$all主要用来查询数组中的包含关系,查询条件中只要有一个不包含就不返回


(13)查询集合中的文档 ,$in,类似于关系型数据库中的IN



(14)查询集合中的文档 ,$nin,与$in相反




(15)查询集合中的文档 ,$or,相当于关系型数据库中的OR,表示或者的关系,例如查询name为user2或者age为3的文档,命令为:
db.customer.find({$or:[{name:”user2”},{age:3}]})



(16)查询集合中的文档 ,$nor,表示根据条件过滤掉某些数据,例如查询name不是user2,age不是3的文档,命令为:
db.customer.find({$nor:[{name:”user2”},{age:3}]})



(17)查询集合中的文档 ,$exists,用于查询集合中存在某个键的文档或不存在某个键的文档,例如查询customer集合中存在name键的所有文档,可以使用 db.customer.find({name:{$exists:1}}),
$exists:1表示真,指存在
$exists:0表示假,指不存在



(18)查询集合中的文档 ,类似于关系型数据库,mongodb中也有游标的概念



(19)更新集合中的文档,语法如下:

db.collection.update(criteria,objNew,upsert,multi)

参数说明:
criteria:用于设置查询条件的对象
objNew:用于设置更新内容的对象
upsert:如果记录已经存在,更新它,否则新增一个记录,取值为0或1
multi:如果有多个符合条件的记录,是否全部更新,取值为0或1

注意:默认情况下,只会更新第一个符合条件的记录
一般情况下后两个参数分别为0,1 ,即:
db.collection.update(criteria,objNew,0,1)


(20)更新集合中的文档,将集合中name为user1的文档改成name为jack



(21)更新集合中的文档,使用 $inc 将集合中name为user1的age加1,其它键不变, $inc表示使某个键值加减指定的数值



(22)更新集合中的文档, $set 用来指定一个键的值,如果这个键不存在,则创建它。例如:
给name为user1的文档添加address,可以使用命令:db.c1.update({name:”user1”},{$set:{address:”bj”}},0,1)
将name为user1的文档修改address为tj,其它键值对不变,命令为:
db.c1.update({name:”user1”},{$set:{address:”tj”}},0,1)


(23)更新集合中的文档, $unset 用来删除某个键,例如删除name为user1的文档中的address键,可以使用命令:
db.c1.update({name:”user1”},{$unset:{address:1}},0,1)


 

 

 

关于关于MongoDB中常用操作的使用就总结到这里了,如果对你有帮助,记得点赞哦~欢迎大家关注我的博客,可以进群366533258一起交流学习哦~





  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温柔狠角色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值