db.collection.insertOne() 插入单个文档。
db.collection.insertMany() 插入多个文档。
db.collection.insert() 插入单/多个文档。
 

insert()方法

要将数据插入到 MongoDB 集合中,需要使用 MongoDB 的 insert()或save()方法。

语法

insert()命令的基本语法如下:

>db.COLLECTION_NAME.insert(document)

示例

>db.mycol.insert({
   _id: 100,
   title: 'MongoDB Overview',
   description: 'MongoDB is no sql database',
   by: 'yiibai tutorials',
   url: 'http://www.yiibai.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100,
})

这里mycol是集合的名称,在前一章中所创建的。如果数据库中不存在集合,则MongoDB将创建此集合,然后将文档插入到该集合中。

在插入的文档中,如果不指定_id参数,那么 MongoDB 会为此文档分配一个唯一的ObjectId。

_id为集合中的每个文档唯一的12个字节的十六进制数。 12字节划分如下

_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)

要在单个查询中插入多个文档,可以在insert()命令中传递文档数组。如下所示  -

> db.post.insert([{
   title: 'MongoDB Overview',
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'www.tutorialspoint.com',
   tags: 'database',
   likes: 100},
   {
   title: 'MongoDB Overview2',
   description: 'MongoDB is no sql database2',
   by: 'tutorials point2',
   url: 'www.tutorialspoint.com2',
   tags: 'database2',
   likes: 200}
   ])

要插入文档,也可以使用db.post.save(document)。 如果不在文档中指定_id,那么save()方法将与insert()方法一样自动分配ID的值。如果指定_id,则将以save()方法的形式替换包含_id的文档的全部数据。

db.collection.insertOne()方法

db.collection.insertOne()方法将单个文档插入到集合中。以下示例将新文档插入到库存集合中。 如果文档没有指定_id字段,MongoDB会自动将_id字段与ObjectId值添加到新文档。

db.inventory.insertOne({ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } })

db.collection.insertOne()方法返回包含新插入的文档的`_id` 字段值的文档。

执行结果如下

> db.inventory.insertOne(
{ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
)
{
"acknowledged" : true,
"insertedId" : ObjectId("5955220846be576f199feb55")
}

db.collection.insertMany()方法

db.collection.insertMany()方法将多个文档插入到集合中,可将一系列文档传递给db.collection.insertMany()方法。以下示例将三个新文档插入到库存集合中。如果文档没有指定_id字段,MongoDB会向每个文档添加一个ObjectId值的_id字段。

db.inventory.insertMany([
{ item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
{ item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
{ item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])

insertMany()返回包含新插入的文档_id字段值的文档。执行结果如下 -

> db.inventory.insertMany([
{ item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
{ item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
{ item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("59552c1c46be576f199feb56"),
ObjectId("59552c1c46be576f199feb57"),
ObjectId("59552c1c46be576f199feb58")
]
}

转载于:https://www.cnblogs.com/liang545621/p/7372126.html

MongoDB插入文档相关推荐

  1. mongodb插入文档时不传ObjectId

    type BookExt struct {ID bson.ObjectId `bson:"_id"`Title string `bson:"title"`Sub ...

  2. MongoDB 插入文档

    文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 MongoDB 使用 inse ...

  3. MongoDB自学笔记9---4.1 插入文档

    第四章 详解增删改查 对于数据库来说,如果我们不是DBA使用的最多的是CRUD,如果我们学好了CRUD,将来我们操作数据库中的数据的时候,将会得心应手.本章将会详细的介绍mongodb中的CRUD操作 ...

  4. mongodb[三] 文档操作:插入、更新、删除

    1.插入文档 语法:db.collectionName.insert(插入内容) 例如: 选择一个库 use demodb 1. 插入一个数据,并且自动创建表数据 db.demo.insert({na ...

  5. mongodb查询文档

    mongodb查询文档 语法:db.集合名.find({条件}) 操作符使用频率最高的: 大于: $gt > 大于等于: $gte >= 小于: l t < 小 于 等 于 : lt ...

  6. Mongoose在向集合中插入文档时的集合命名问题

    原文链接:http://www.cnblogs.com/wx1993/p/5243245.html Mongoose使用结构化的模式应用到MongoDB集合,为MongoDB Node.js原生驱动程 ...

  7. MongoDB学习文档

    MongoDB 一.MongoDB特点 1.MongoDB优点 2.MongoDB缺点 二.MongoDB数据结构 三. 数据库 四.集合 五.文档 六.搭建复制集 一.MongoDB特点 1.Mon ...

  8. 开启MongoDB更新文档操作的正确姿势

    将文档存入数据库中之后,可以使用以下几种更新方法之一对其进行更改:updateOne.updateMany 和 replaceOne.updateOne 和 updateMany 都将筛选文档作为第一 ...

  9. MongoDB之文档CRUD

    官网文档地址:https://docs.mongodb.com/manual/crud/ 创建文档 使用插入操作向一个集合中添加文档时,如果目标集合当前并不存在,执行操作会自动创建该集合. Mongo ...

最新文章

  1. 开关问题(POJ-1830)
  2. 2.7.3-YARN-获取debug命令:resourceManager+nodeManager
  3. 杭电acm 1846 Brave Game(巴什博弈)
  4. 尝试引用非结构体数组的字段_剖析PHP底层数组是如何实现的
  5. 《CLR via C# 》第三版 英文原版电子书下载
  6. 乐优商城项目实战系列笔记1-项目搭建
  7. 对Movielens数据集进行评分预测
  8. linux进程中monitor,linux进程监控,monitor脚本
  9. Linux多线程服务端编程学习(四)finger服务的实现
  10. 咋把计算机程序固定到任务栏中,win10我的电脑固定到任务栏如何操作_win10怎么把我的电脑放到任务栏...
  11. 常微分方程-差分方程
  12. 1028: 安全路径(2014年中南大学研究生复试机试题 )
  13. 用C语言构造康托集,洛谷——P1014 Cantor表
  14. RabbitMQ--扩展--11--均衡负载
  15. 一篇关于保险与公积金的文章,看了绝对受益匪浅!!
  16. 抑菌洗手液做MSDS中英文报告详细说明
  17. [转载] 陈皓——程序员技术练级攻略
  18. Linux 系统硬盘不能识别挂载 bad magic number in super-block问题的修复
  19. 使用 Python 简单获取电影天堂的电影数据 [第一个爬虫小测试]
  20. 编程范式(斯坦福大学)学习笔记《十一》

热门文章

  1. 小猿圈python之python期末考试测试题(二)_小猿圈python之练习题
  2. 在C++程序中调用被C编译器编译后的函数为什么要加extern“C”?
  3. C++里vector::erase函数
  4. 亲密关系-【舒适退出】-减少伤害的终局沟通
  5. 井字棋小游戏c语言简单编码,C语言实现井字棋小游戏
  6. linux vbox安装mac os,超简单的linux下virtualbox4.3.26安装配置黑苹果 OSX 10.9的办法
  7. 从.fig文件中提取数据
  8. PYTORCH BN层
  9. 关闭rlogin服务linux,Linux rlogin命令
  10. web 导出文件时如何让用户选择路径_Visual Paradigm 教程[UML]:如何绘制动画UML活动图?...