MongoDB的CRUD操作

    MongoDB中有三个重要的概念:数据库、集合、文档。

    在开始之前,先来用一张图对比一下SQL和MongoDB:

 

一、创建操作:

创建或插入操作,即向集合collection添加新的文档documents。如果插入时集合不存在,插入操作会创建该集合。

db.collection.insert()

若字段较多可以以这种缩进的形式,可读性更高,上图中的三个点“…”是mongoDB自动添加的。

可以通过运行count来查看集合中有多少个文档:

db.collection.count()

二、查询操作:

读操作,即获取集合collection中的文档documents,例如查询一个集合中的文档,语法如下:

db.collection.find()

上述指令是查询该集合中的所有文档,我们也可以传递查询条件进行精确查询:

db.collection.find({username:"jsons"})

也可以使用MongoDB的$and操作符:

db.collection.find({$and:[

    {_id:ObjectId("552e458158cd52bcb257c324")},

    {username:"jsons"}

]})

使用OR查询文档的语法类似:只需要把$or操作符替换一下就可以了:

db.collection.find({$or:[

    {username:"smith"},

    {username:"jsons"}

]})

三、更新操作:

更新操作修改集合collection中已经存在的文档documents,语法如下:

db.collection.update()

所有的更新操作至少需要2个参数,第一个指定要更新的文档,第二个定义如何修改此文档。

通常有两种类型的更新操作,用于不同的属性和使用场景。其中一个类型的更新是在一个文档或者多个文档上修改,另外一个是使用新文档取代旧的文档。

更新操作符:

第一种类型的更新需要传递一个文档参数,还有一些操作符作为第二个参数,先来看下如何使用$set操作符,它可以为单个字段设置特定的值。

假如用户smith要增加自己的居住地国家,可以使用如下命令:

db.users.update({username:"smith"},{$set:{country:"Canada"}})

替换更新:

另外一个更新文档的方式就是替换文档,而不是更新某个字段(没有使用$set操作符),如下:

db.users.update({username:"smith"},{country:"Canada"})

这个例子中,文档被替换为只包含country字段的文档,username字段被删除,因为它只是用来匹配文档,第二个参数用来更新替换。

四、删除操作:

删除是从一个集合中删除文档的操作,语法如下:

db.collection.remove()

如果没有参数,删除操作将会清空集合里的所有文档。

如果我们只需要删除集合中某个文档,那么就要传递查询选择器给remove()方法,如下:

db.users.remove({"favorites cities":"Cheyenne"})

注意:remove()操作不会删除集合,只会删除集合中的某个文档,可以把它和SQL中的delete命令进行类比。

如果要删除集合及其附带的索引数据,可以使用drop()方法:

db.users.drop()

五、基本命令:

show dbs  #查看全部数据库

use test  #创建数据库

show collections  #显示当前数据库中的集合(类似关系数据库中的表)

db.stats()  #显示当前db状态

db.version()  #当前db版本

db.getMongo()  #查看当前db的链接机器地址

 

学习中,持续更新……

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值