摘要:插入并保存文檔示例批量插入書中的的方法是錯誤的,沒有這個方法,提供的是或者。每一組操作至多包含個操作,如果超出了這個限制,將劃分成或者更少的組。這個限制未來可能會調整。示例默認,執行的是順序的插入。刪除文檔書中的沒有加,這樣寫是錯誤的。
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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/18974.html
摘要:排序結果的條件修改器條件,用戶對匹配的文檔進行更新和必須指定一個布爾類型,表示是否刪除文檔和必須指定一個布爾類型,表示返回更新前的文檔還是更新后的文檔,默認是更新前的文檔。 本文所有內容以MongoDB 3.2 為基礎。 插入并保存文檔 插入是添加數據的基本方法。可以使用insert插入一個文檔: db.foo.insert({bar: baz}) 批量插入 使用批量插入,可以加快插入...
摘要:如果沒有找到找到符合條件的文檔,就會以這個條件和更新文檔為基礎新建一個新的文檔。使用它可以快速方便的對文檔進行更新。更新多個文檔默認情況下,文檔的更新只針對第一個匹配到的文檔,多個條件符合時,其它文檔不會改變。 what is MongoDB ? 面向文檔的數據庫 不再有行的概念,不再有預定義模式 易于拓展 豐富的功能 索引 聚合 特殊的集合類型 文件存儲 高性能 可以一個示...
摘要:如果沒有找到找到符合條件的文檔,就會以這個條件和更新文檔為基礎新建一個新的文檔。使用它可以快速方便的對文檔進行更新。更新多個文檔默認情況下,文檔的更新只針對第一個匹配到的文檔,多個條件符合時,其它文檔不會改變。 what is MongoDB ? 面向文檔的數據庫 不再有行的概念,不再有預定義模式 易于拓展 豐富的功能 索引 聚合 特殊的集合類型 文件存儲 高性能 可以一個示...
閱讀 1407·2021-11-19 11:38
閱讀 3562·2021-11-15 11:37
閱讀 803·2021-09-30 09:48
閱讀 947·2021-09-29 09:46
閱讀 893·2021-09-23 11:22
閱讀 1871·2019-08-30 15:44
閱讀 3389·2019-08-26 13:58
閱讀 2380·2019-08-26 13:26