摘要:插入并保存文档示例批量插入书中的的方法是错误的,没有这个方法,提供的是或者。每一组操作至多包含个操作,如果超出了这个限制,将划分成或者更少的组。这个限制未来可能会调整。示例默认,执行的是顺序的插入。删除文档书中的没有加,这样写是错误的。
1、插入并保存文档
db.collection.insertOne() Inserts a single document into a collection. db.collection.insertMany() db.collection.insertMany() inserts multiple documents into a collection. db.collection.insert() db.collection.insert() inserts a single document or multiple documents into a collection.
示例:
db.products.insertOne( { item: "card", qty: 15 } );批量插入
书中的29的batchInsert方法是错误的,没有这个方法,提供的是insertMany或者insert。
db.collection.insertMany( [, , ... ], { writeConcern: , ordered: } )
每一组操作至多包含1000个操作,如果超出了这个限制,mongodb将划分成1000或者更少的组。这个限制未来可能会调整。ordered默认是true的,在一个分片的集合中,会比unordered慢,因为它是按照队列操作的。
示例:
db.products.insertMany( [ { _id: 10, item: "large box", qty: 20 }, { _id: 11, item: "small box", qty: 55 }, { _id: 12, item: "medium box", qty: 30 } ] ); 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 } )
NOTE:
默认,mongodb执行的是顺序的插入。如果顺序插入的时候,在一个插入发生错误之后,后续的插入将不再执行;如果是无需的插入,那么发生错误之后,后续的插入还将继续执行。在执行完step1之后,step2执行的结果跟step3是不同的,step3中会插入30,但是step2终不会。
step1:db.foo.insertMany([{"_id":1},{"_id":2},{"_id":3}]); step2:db.foo.insertMany([{"_id":10},{"_id":2},{"_id":30}]); step3:db.foo.insertMany([{"_id":10},{"_id":2},{"_id":30}],{ ordered: false});2、删除文档
书中的remove没有加{},这样写是错误的。
这本书太久了,现在的好多用法都变了,坑爹,只拿这本书的目录学习,以后的所有的内容都按以官方文档为准
官方文档如下:
To remove all documents in a collection, call the remove method with an empty query document {}
db.collection.remove(, )
示例如下:
db.bios.remove( { } ) db.products.remove( { qty: { $gt: 20 } }, true )
NOTE:
justOne,默认是false,会删除匹配的所有记录,如果只删除一个则设定为true
从一个集合中删除所有的文档,更有效率的方法是用drop()方法删除整个集合,包括索引,然后在重建整个集合和重建索引
3、更新文档db.collection.update(, , { upsert: , multi: , writeConcern: , collation: } )
update()默认只能更新一个文档,对于整个文档的更新,update操作只能更新一个,multi的选项是针对$操作符multi update only works with $ operators
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/18974.html
摘要:排序结果的条件修改器条件,用户对匹配的文档进行更新和必须指定一个布尔类型,表示是否删除文档和必须指定一个布尔类型,表示返回更新前的文档还是更新后的文档,默认是更新前的文档。 本文所有内容以MongoDB 3.2 为基础。 插入并保存文档 插入是添加数据的基本方法。可以使用insert插入一个文档: db.foo.insert({bar: baz}) 批量插入 使用批量插入,可以加快插入...
摘要:如果没有找到找到符合条件的文档,就会以这个条件和更新文档为基础新建一个新的文档。使用它可以快速方便的对文档进行更新。更新多个文档默认情况下,文档的更新只针对第一个匹配到的文档,多个条件符合时,其它文档不会改变。 what is MongoDB ? 面向文档的数据库 不再有行的概念,不再有预定义模式 易于拓展 丰富的功能 索引 聚合 特殊的集合类型 文件存储 高性能 可以一个示...
摘要:如果没有找到找到符合条件的文档,就会以这个条件和更新文档为基础新建一个新的文档。使用它可以快速方便的对文档进行更新。更新多个文档默认情况下,文档的更新只针对第一个匹配到的文档,多个条件符合时,其它文档不会改变。 what is MongoDB ? 面向文档的数据库 不再有行的概念,不再有预定义模式 易于拓展 丰富的功能 索引 聚合 特殊的集合类型 文件存储 高性能 可以一个示...
阅读 1428·2021-11-19 11:38
阅读 3572·2021-11-15 11:37
阅读 814·2021-09-30 09:48
阅读 962·2021-09-29 09:46
阅读 904·2021-09-23 11:22
阅读 1881·2019-08-30 15:44
阅读 3399·2019-08-26 13:58
阅读 2391·2019-08-26 13:26