歡迎您光臨本站 註冊首頁

· mongodb 入門雜誌閱讀

MongoDB 快速入門實戰教程最新版

admin @ 2020-04-29 reply:0

我們學習了MongoDB 與 NoSQL 的關係、 MongoDB 的安裝、資料型別、MongoShell、建立資料庫、顯式建立集合和隱式建立集合,還學習瞭如何更改集合名稱以及刪除資料庫和集合的方法,並對每種操作都進行了例項演示。

在本篇 chat 中我們將學習流式聚合操作,並深入瞭解語句的執行效率。然後深入學習能夠提高資料服務可用性的複製集。接著瞭解 MongoDB 的水平擴充套件能力,學習 MongoDB 資料的備份與還原方法,並為資料服務開啟訪問控制。

基礎篇 一 文件的 CRUD 操作

CRUD 操作指的是對文件進行 `create`,`read`,`update` and `delete` 操作,即增刪改查。文件 CRUD 操作的內容將分為 `Create Operations`, `Read Operations`, `Update Operations`, `Delete Operations` 和 `Cursor` 等 5 個部分進行介紹。

Create Operations

建立操作或者插入操作會向集合新增新的文件。之前有提到過,如果插入時集合不存在,插入操作會建立對應的集合。MongoDB 提供了 3 個插入文件的方法:

`db.collection.insert()``db.collection.insertOne()``db.collection.insertMany()`

插入單個文件

其中,`db.collection.insertOne()` 用於向集合插入單個文件。而 `db.collection.insertMany()` 和 `db.collection.insert()` 可以向集合插入多個文件。`db.collection.insertOne()` 示例如下:

自動命令執行後會返回一個結果文件,文件輸出如下:

這說明文件插入成功。其中,`acknowledged` 代表本次操作的操作狀態,狀態值包括 `true` 和 `false`。`insertedId` 即該文件的 `_id`。

提示:示例中的省略號是 MongoShell 的換行識別符號。換行識別符號對命令輸入和執行並沒有影響,所以本文也不會注重風格的統一,即示例中有時會帶有換行符,有時則不帶有換行符。

插入多個文件

`db.collection.insertMany()` 示例如下:

由於本次插入了 2 個文件,所以返回的結果文件會顯示兩個 `_id`。返迴文件內容如下:

`db.collection.insert()` 示例如下:

示例演示的是單個文件的插入,實際上插入多個文件也是沒問題的。`db.collection.insert()` 插入單個文件時返回的是一個帶有操作狀態的 `WriteResult` 物件:`WriteResult({ "nInserted" : 1 })` 。其中,`nInserted` 表明了插入文件的總數。但如果插入操作遇到錯誤,那么 `WriteResult` 物件將包含錯誤提示資訊。

`db.collection.insert()` 插入多個文件的示例如下:

可以看到,`db.collection.insert()`  插入多個文件和插入單個文件得到的返回結果是不同的。

Read Operations

MongoDB 提供了 `db.collection.find()` 方法從集合中讀取文件。在開始練習之前,需要準備用於練習的基礎資料。在 MongoShell 中執行以下文件插入操作:

查詢文件

將一個空位當作為查詢過濾器引數傳遞給 `db.collection.find()` 方法就可以得到所有文件,對應示例如下:

或者什么都不傳,直接使用 `find()`,對應示例如下:

這等效於 SQL 中的 `SELECT * FROM inven`。

更多關於元素查詢運算子的知識可查閱官方文件 Element Query Operators

[admin via ] MongoDB 快速入門實戰教程最新版已經有848次圍觀

http://coctec.com/magazine/show-post-item-144.html