MongoDB資料庫的基本操作
阿新 • • 發佈:2018-12-24
- 建立資料庫
//use+資料庫名
>use mydb
//顯示當前選定的資料庫
>db
//檢視當前資料庫列表
>show dbs
//隱式建立集合
>db.movies.insert({"name","尖峰時刻"})
- 刪除資料庫
//先切換到要刪除的資料庫
use mydb
db.dropDatabase()
- 刪除集合
db.users.drop()
- 建立集合
-建立集合的時候可以指定配置項,設定集合的基本屬性
欄位 | 型別 | 描述 |
---|---|---|
capped | boolean | (可選)如果為 true,則建立固定集合。固定集合是指有著固定大小的集合,當達到最大值時,它會自動覆蓋最早的文件。當該值為 true 時,必須指定 size 引數。 |
autoIndexID | boolean | (可選)如為 true,自動在 _id 欄位建立索引。預設為 false。 |
size | 數值 | (可選)為固定集合指定一個最大值(以位元組計)。如果 capped 為 true,也需要指定該欄位 |
max | 數值 | (可選)指定固定集合中包含文件的最大數量。 |
db.createCollection("movies")
db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
資料型別
- String:字串。儲存資料常用的資料型別。在 MongoDB 中,UTF-8 編碼的字串才是合法的。
- Integer:整型數值。用於儲存數值。根據你所採用的伺服器,可分為 32 位或 64 位。
- Boolean:布林值。用於儲存布林值(真/假)。
- Double:雙精度浮點值。用於儲存浮點值。-
- Min/Max keys:將一個值與 BSON(二進位制的 JSON)元素的最低值和最高值相對比。
- Arrays:用於將陣列或列表或多個值儲存為一個鍵。
- Timestamp:時間戳。記錄文件修改或新增的具體時間。
- Object:用於內嵌文件。
- Null:用於建立空值。
- Symbol:符號。該資料型別基本上等同於字串型別,但不同的是,它一般用於採用特殊符號型別的語言。
- Date:日期時間。用 UNIX 時間格式來儲存當前日期或時間。你可以指定自己的日期時間:建立 Date 物件,傳入年月日資訊。
- Object ID:物件 ID。用於建立文件的 ID。
- Binary Data:二進位制資料。用於儲存二進位制資料。
- Code:程式碼型別。用於在文件中儲存 JavaScript 程式碼。
- Regular expression:正則表示式型別。用於儲存正則表示式。
文件插入
dn.movies.insert({"name","尖峰時刻"})
- 文件查詢 find()
//查詢集合中的所有資料
db.movies.find()
//格式化顯示查詢的結果集
db.movies.find().pretty()
- 條件查詢
//等於
db.users.find("age":21)
//小於
db.users.find("age":{$lt:21})
//小於等於
db.users.find("age":{$lte:21})
//大於
db.users.find("age":{$gt:21})
//大於等於
db.users.find("age":{$gte:21})
//不等於
db.users.find("age":{$ne:21})
- and條件
db.user.find({"age":21,"name":"xul"})
- or條件
db.user.find({$or:[{"age":21},{"name":"xul"}]})
- and 和or條件
db.user.find({"age":21,$or:[{"name":"xul"},{"sex":"man"}]})
- 更新操作
- 基本格式
- db.user.update(query,update,upset,multi)
- query : 修改是的過濾條件
- update : 要更新的欄位
- upset:未發現複合的資料,是否進行插入(true插入)
- multi:是否進行多行更新(true 多行更新)
db.user.update({"age":21},{$set:{"name":"updatetest"}},0,1)
- 刪除文件
//可新增過濾條件,使用與find相同
db.user.remove()
- 對映
//對映就是隻顯示集合中的某些欄位,1:顯示,0:不顯示
db.user.find({},{"age":1,"name":0})
分頁
- limit() 設定要顯示的條數
- skip() 設定從第幾條開始顯示
db.user.find().limit(1).skip(1)
排序
- sort(key:1) 指定排序欄位,1:升序,-1:降序
db.user.find().sort("name":-1)