存在就不插入_NoSQL之MongoDB——增删改查简介与插入操作详解

CRUD操作包括创建、读取、更新和删除文档。

创建操作

执行创建或者插入操作可向集合中添加文档。如果集合不存在,插入操作会创建此集合。

MongoDB提供下列方法向集合中插入文档:

  • db.collection.insert()
  • db.collection.insertOne() New in version 3.2
  • db.collection.insertMany() New in version 3.2

在MongoDB中,插入操作的目标是一个集合。所有的写操作在单文档级别具有原子性。

a9ab07670ba7268f8281f2510b36e8f8.png

读操作

读操作是指在一个集合中查找文档;例如查询一个集合中的所有文档。MongoDB提供了下面的方法来读取集合中的文档:

6b4d27fb7c5aad02b9c959b9d85f8f8f.png

db.collection.find()

你可以指定查询过滤器或准则来确定要返回的文档。

更新操作

更新操作是指修改集合中已存在的文档。MongoDB提供下列方法来执行更新操作:

· db.collection.update()

· db.collection.updateOne() New in version 3.2

· db.collection.updateMany() New in version 3.2

· db.collection.replaceOne() New in version 3.2

在MongoDB中,更新操作的目标是一个集合。所有的写操作在单文档级别具有原子性。

你能够指定准则或者过滤器来确定要更新的文档。更新操作所使用的过滤器和读操作所使用的过滤器具有相同的句法规则。

893f13d0d70cfe61fe56126d5964bdcc.png

删除操作

删除操作是指从集合中移除文档。MongoDB提供下列操作来实施删除操作:

· db.collection.remove()

· db.collection.deleteOne() New in version 3.2

· db.collection.deleteMany() New in version 3.2

在MongoDB中,删除操作的目标是一个集合。所有的写操作在单文档级别具有原子性。

你能够指定准则或者过滤器来确定要删除的文档。删除操作所使用的过滤器和读操作所使用的过滤器具有相同的句法规则。

5e5888271e878ecc6a8b110b36459ac5.png

批量写入操作

MongoDB 提供了批量写入文档功能。

1 插入操作

1.1 插入方法

为向集合中插入文档,MongoDB提供下列方法:

  • db.collection.insertOne()
  • db.collection.insertMany()
  • db.collection.insert()

这章提供了一些可在mongo shell中执行的例子:

1.2 插入行为

集合的创建

如果集合不存在,插入操作会创建集合。

_id字段

在MongoDB中,存储在集合中的文档需要一个_id字段作为主键。如果没有指定_id字段,MongoDB会使用ObjectIds 作为_id字段的默认值。例如,待插入文档不包含顶级_id字段,MongoDB会添加一个默认值为ObjectIds 的_id字段。

另外,如果mongod接受一个不包含_id字段的待插入文档(例如,通过一个带有更新设置选项的更新操作),mongod会添加一个默认值为ObjectIds 的_id字段。

原子性

在MongoDB中,写操作在单文档级别具有原子性。

1.3 db.collection.insertOne()

3.2版本中新增

db.collection.insertOne():向集合中插入一个文档。

下面的例子为向集合users 中插入一个新文档。新文档有三个字段:name, age, 和 status,因为文档没有指定_id字段,MongoDB会添加一个值为ObjectIds 的_id字段。

db.users.insertOne( { name: "sue
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值