AspNetCore容器化(Docker)部署(二) —— 多容器通訊
阿新 • • 發佈:2020-12-02
MongoDB插入
- menu
- insert Behavior
- insert Methods
插入行為
* 如果集合不存在,插入操作將建立集合。
* 在集合中,具有唯一主鍵`_id`。如果在插入檔案中未宣告`_id`;MongoDB將自動使用`ObjectIds`作為`_id`
- 1
- 2
插入資料的方法
MongoDB提供了儲存資料的方法一共有三個:
1. db.collection.insertOne()
2. db.collection.insertMany()
3. db.collection.insert()
- 1
- 2
- 3
- 4
- 5
db.collection.insertOne()
*3.2版本*
將單個文件插入到一個集合,
- 1
- 2
db.users.insertOne(
{
name: "sue",
age: 19,
status: "P"
}
)
//會返回文件的操作狀態。
{
"acknowledged" : true,
"insertedId" : ObjectId("5742045ecacf0ba0c3fa82b0")
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
db.collection.insertMany()
*3.2版本*
將文件陣列插入到一個集合,
- 1
- 2
db.users.insertMany( [ { name: "bob", age: 42, status: "A", }, { name: "ahn", age: 22, status: "A", }, { name: "xi", age: 34, status: "D", } ] ) //會返回文件的操作狀態。 { "acknowledged" : true, "insertedIds" : [ ObjectId("57420d48cacf0ba0c3fa82b1"), ObjectId("57420d48cacf0ba0c3fa82b2"), ObjectId("57420d48cacf0ba0c3fa82b3") ] }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
db.collection.insert()
將單個或多個文件到一個集合。要插入一個單一的檔案,傳遞文件;插入多個檔案,傳遞文件陣列。
eg:
- 1
- 2
//插入單個物件 db.users.insert( { name: "sue", age: 19, status: "P" } ) //返回一個 WriteResult 物件;如果插入錯誤,會返回錯誤資訊 WriteResult({ "nInserted" : 1 }) //插入陣列 db.users.insert( [ { name: "bob", age: 42, status: "A", }, { name: "ahn", age: 22, status: "A", }, { name: "xi", age: 34, status: "D", } ] ) //返回 BulkWriteResult 物件 BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 3, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] })
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
同樣能實現插入效果的方法
- db.collection.update() 當
upsert
為true時//第三個引數 - db.collection.updateOne() 當
upsert
為true時//第三個引數 - db.collection.updateMany() 當
upsert
為true時//第三個引數 - db.collection.findAndModify() 當
upsert
為true時** - db.collection.findAndModify() 當
upsert
為true時** - db.collection.findOneAndReplace() 當
upsert
為true時 - db.collection.save().
- db.collection.bulkWrite().
db.collection.save()
若doc含有_id
且在集合中存在,這將會替換集合內的文件(update
),不存在則是insert
該文件,若不存在_id
,則是insert