不管是何種方式插入,都是有插入順序的,最新插入的放在后面。
<br/>
**1. `insert`方式插入**
```sql
> db.customer.insert({name: "gyw", mobile: "12345678", email: "xxx@163.com"})
WriteResult({ "nInserted" : 1 })
# 查看是否插入成功
> db.customer.find()
{ "_id" : ObjectId("6050c17144f167bbabdf6aaf"), "name" : "gyw", "mobile" : "12345678", "email" : "xxx@163.com" }
```
**2. `save`方式插入**
```sql
> db.customer2.save({name: "gyw", mobile: "12345678", email: "xxx@163.com"})
WriteResult({ "nInserted" : 1 })
> db.customer2.find()
{ "_id" : ObjectId("6050c34744f167bbabdf6ab0"), "name" : "gyw", "mobile" : "12345678", "email" : "xxx@163.com" }
```
<br/>
**`insert`和`save`的比較:**
<mark>相同點:</mark>
(1)第一次插入數據時,不需要預先創建一個集合customer,插入數據時會自動創建。
(2)每次插入數據時如果沒有顯示的指定字段`_id`,則會默認創建一個主鍵`_id`。在關系數據庫中主鍵大多數是數值類型,且是自動增長的序列。而MongoDB 中的主鍵值類型則為 Objectld 類型,這樣設計的好處是能更好的支持分布式存儲。
<mark>不同點:</mark>
(1)`insert` 可以理解 就是 插入 操作;如果主鍵存在,則拋異常;
(2)`save` 可以理解為 插入或 更新;如果 `_id` 的值存在就更新,不存在就插入。
<br/>
**3. 結合js插入**
MongoDB可以結合JavaScript代碼。
```sql
> for(var i=1; i<=30; i++) db.customer.insert({id: i, name: "xi"+i, age: 100+i})
WriteResult({ "nInserted" : 1 })
> db.customer.find()
{ "_id" : ObjectId("6050ca0444f167bbabdf6ab1"), "id" : 1, "name" : "xi1", "age" : 101 }
{ "_id" : ObjectId("6050ca0444f167bbabdf6ab2"), "id" : 2, "name" : "xi2", "age" : 102 }
{ "_id" : ObjectId("6050ca0444f167bbabdf6ab3"), "id" : 3, "name" : "xi3", "age" : 103 }
```
<br/>
**4. 單個插入**
```
insert、save、insertOne都是單個插入,不推薦使用insert插入。
```
```sql
> db.customer.insertOne({name: "zhangsan", mobile: "13778899", email: "xxx@163.com"})
{
"acknowledged" : true,
"insertedId" : ObjectId("6050e1d544f167bbabdf6ad0")
}
```
<br/>
**5. `insertMany`批量插入**
```sql
> db.customer.insertMany([
... {name: "lisi", mobile: "456899343", email: "xxx@163.com"},
... {name: "wangwu", mobile: "3479247798", email: "xxx@163.com"}
... ])
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("6050e2f744f167bbabdf6ad1"),
ObjectId("6050e2f744f167bbabdf6ad2")
]
}
```
- MySQL
- MySQL是什么
- MySQL環境搭建
- centos7-MySQL8
- windows-MySQL8
- 數據庫軟件
- sqlyog軟件安裝
- navicat軟件安裝
- powerDesigner軟件安裝
- RDBMS術語
- SQL語句組成
- 數據庫系統組成
- 數據庫操作
- 數據表操作
- 查詢語句
- 基本語法
- 子查詢
- 表連接
- 查詢語句執行順序
- 事務
- 事務是什么
- 事務的作用
- 事務的4個特性
- 事務隔離級別
- 事務的實現
- 索引
- 索引的作用
- 索引操作
- 存儲引擎
- 備份與恢復
- 視圖
- 視圖是什么
- 視圖的作用
- 創建視圖
- 查看視圖
- 更改視圖
- DML操作視圖
- 刪除視圖
- 存儲過程與函數
- 過程與函數是什么
- 存儲過程操作
- 定義存儲過程
- 調用存儲過程
- 查看存儲過程
- 刪除存儲過程
- 修改存儲過程
- 函數操作
- 過程與函數區別
- 流程控制
- if語句
- case語句
- while循環語句
- repeat循環語句
- loop循環語句
- 變量
- 處理程序
- 光標
- Redis
- 簡介
- 下載與安裝
- 命令操作redis數據庫
- 通用命令
- 數據操作
- 持久化
- Windows上的持久化操作
- 數據庫設計
- 數據庫設計過程
- ER模型圖
- MongoDB
- MongoDB是什么?
- MongoDB特性
- MongoDB 數據模型
- 安裝MongoDB
- MongoDB認證
- Database操作
- Collection操作
- Document操作
- 插入
- 查詢
- 更新
- 刪除
- buckWrite
- MongoDB索引
- 副本集
- 聚焦分析
- 事務管理
- 寫關注
- 讀關注