摘要
用MongoDB插入文本文档,就像是把心爱的东西放进收藏夹,感觉真好。insertOne()可以插入一条,insertMany()可以插入好几条,insert()更是万能,可以插入一条或好几条。
正文
MongoDB(7)- 文本文档插进实际操作
插入方法
db.collection.insertOne()
|
插进一条文本文档到结合中 |
db.collection.insertMany()
|
插进好几条文本文档到结合中
|
db.collection.insert()
|
插进一条或好几条文本文档到结合中 |
insertOne() 英语的语法文件格式
db.collection.insertOne( <document>, { writeConcern: <document> } )
只有传一个文本文档,不可以是二维数组
insertMany() 英语的语法文件格式
db.collection.insertMany( [ <document 1> , <document 2>, ... ], { writeConcern: <document>, ordered: <boolean> } )
必传一个二维数组,即便 是空二维数组
insert() 英语的语法文件格式
db.collection.insert( <document or array of documents>, { writeConcern: <document>, ordered: <boolean> } )
能够宣传单条文本文档或是文本文档二维数组
writeConcern
看见是一种错误捕获体制,弄清楚要干什么再升级吧
ordered
- true:对二维数组中的文本文档实行井然有序插进,在其中一个文本文档产生不正确,MongoDB 将回到而不解决二维数组中的其他文本文档(默认设置)
- false:混乱插进,在其中一个文本文档产生不正确,则再次解决二维数组中的别的文本文档
三种 insert 方式 的回到內容
// 插进一条文本文档 > db.test.insert({}) WriteResult({ "nInserted" : 1 }) // 插进好几条文本文档 > db.test.insert([]) BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 0, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] })
插进实际操作的关键专业知识
- MongoDB 向结合里插进纪录时,不必事前对数据储存构造开展界定,每一个文本文档的算法设计都能够是不一样的
- 假如待插进的结合不会有,则插进实际操作会默认设置建立结合
- MongoDB 中,插进实际操作以单独结合为总体目标
- MongoDB 中的全部载入实际操作全是单独文本文档等级的原子操作
插进不特定 _id 字段名的文本文档
db.test.insert( { item : "card", qty : 15 })
MongoDB 会全自动给它分派一个 _id
db.test.find() { "_id" : ObjectId("60b4e2eeec0fd33d89e97a98"), "item" : "card", "qty" : 15 }
这种 Objectld 值与实行实际操作时的设备和時间相关
插进特定 _id 字段名的文本文档
值 _id 务必在结合中唯一,以防止反复键不正确
db.test.insert( { _id: 10, item: "box", qty: 20 } ) db.test.find() { "_id" : 10, "item" : "box" , "qty": 20 }
能够见到新插进文本文档的 id 数值设定的 id 值
插进文本文档二维数组
插进的好几个文本文档不必具备同样的字段名
db.test1.insert( [ { _id: 11, item: "pencil", qty: 50, type: "no.2" }, { item: "pen", qty: 20 }, { item: "eraser", qty: 25 } ] )
- 的第一个文本文档包括一个 _id 字段名和一个 type 字段名
- 第二个和第三个文本文档不包含 _id 字段名
- 因而,在插进全过程中,MongoDB 可能为第二个和第三个文本文档建立默认设置 _id 字段名
db.test1.find() { "_id" : 11, "item" : "pencil", "qty" : 50, "type" : "no.2" } { "_id" : ObjectId("60b4e98fec0fd33d89e97a99"), "item" : "pen", "qty" : 20 } { "_id" : ObjectId("60b4e98fec0fd33d89e97a9a"), "item" : "eraser", "qty" : 25 }
混乱插进
db.products.insert( [ { _id: 20, item: "lamp", qty: 50, type: "desk" }, { _id: 21, item: "lamp", qty: 20, type: "floor" }, { _id: 22, item: "bulk", qty: 100 } ], { ordered: false } )
假如在插进在其中一个文本文档期内产生不正确,MongoDB 会再次将其他文本文档插进二维数组中
关注不迷路
扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!
温馨提示:如果您访问和下载本站资源,表示您已同意只将下载文件用于研究、学习而非其他用途。
评论0