標籤:www rdbms 等於 closed blog alt 開始 exe 2.0
【注意:MongoDB自動將_id欄位設定為主鍵】
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
話不多說 直接 開始敲命令吧!
【注意1:MongoDB 命令結尾不要打; 是會報錯的】
【注意2:RoboMongo 執行命令的快速鍵是F5 停止執行快速鍵是F6】
1.show dbs
顯示所有資料的列表
2.db
顯示當前資料庫物件或集合
3.use
可以串連到一個指定的資料庫
4. db.createCollection("myNewCollection",{capped:true,size:1024})
固定大小的collection【collection大小單位是位元組】【capped:true 代表固定大小】
5.db.collection.stats()
產看當前db下的某個collection的詳細資料
例如:
db.users.stats()
1 { 2 "ns" : "oneDB.users", 3 "count" : 4, 4 "size" : 256, 5 "avgObjSize" : 64, 6 "numExtents" : 1, 7 "storageSize" : 8192, 8 "lastExtentSize" : 8192.0, 9 "paddingFactor" : 1.0,10 "paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.",11 "userFlags" : 1,12 "capped" : false,13 "nindexes" : 1,14 "totalIndexSize" : 8176,15 "indexSizes" : {16 "_id_" : 817617 },18 "ok" : 1.019 }View Code
1 部分參數的詳細解釋: 2 ns: 集合的命名空間,可以理解為集合名稱 3 count: 集合中的文檔總數 4 size: 集合中資料佔用空間大小,不包括索引 ,單位為位元組。 5 avgObjSize: 平均對像佔用的空間大小 6 storageSize: 給整個集合分配的儲存空間,當刪除集合中的文檔時,這個值不會降代。 7 numExtents: 連續分配的資料區塊 8 nindexes: 索引個數,每個集合至少有一個 _id 索引。 9 lastExtentSize: 最近分配的塊的大小10 paddingFactor: 這個參數不太清楚,以後補充。11 totalIndexSize: 所有索引大小總和12 indexSizes: 列出集合的所有索引欄位,以及索引大小。
View Code
6.db.dropDatabase()
刪除當前資料庫
7.use dbName
有則指定到這個資料庫,沒有則建立這個資料庫 但是建立之後是預設不會顯示在資料庫列表的,需要往裡面插入一條資料 就能顯示出來了
【注意:插入資料應該有大括弧括起來的{}】
例如:
use oneDB
db
db.users.insert({_id:1,"name":"張三丰","age":23})
8.db.collection.drop()
刪除集合
例如:
9. 定義變數 插入資料
document = {_id:1,"name":"張三","age":23,"url":"www.baidu.com"}
db.users.save(document)
10. 更新某一條資料
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> })
- query : update的查詢條件,類似sql update查詢內where後面的。
- update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的
- upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
- multi : 可選,mongodb 預設是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。
- writeConcern :可選,拋出異常的層級。
例如:
db.users.update({_id:1},{$set:{"url":"https://home.cnblogs.com/u/sxdcgaq8080/"}},{upsert:true,muti:true})
db.users.find()
11.db.users.find() 查詢【各種查詢】
find() 方法以非結構化的方式來顯示所有文檔
db.users.find().pretty()
如果你需要以易讀的方式來讀取資料,可以使用 pretty() 方法;pretty() 方法以格式化的方式來顯示所有文檔
db.users.findOne()
findOne() 方法,它只返回一個文檔
| 操作 |
格式 |
範例 |
RDBMS中的類似語句 |
| 等於 |
{<key>:<value>} |
db.users.find({"name":"張三"}).pretty() |
where by = ‘張三‘ |
| 小於 |
{<key>:{$lt:<value>}} |
db.users.find({"age":{$lt:23}}).pretty() |
where likes < 23 |
| 小於或等於 |
{<key>:{$lte:<value>}} |
db.users.find({"age":{$lte:23}}).pretty() |
where likes <= 23 |
| 大於 |
{<key>:{$gt:<value>}} |
db.users.find({"age":{$gt:23}}).pretty() |
where likes > 23 |
| 大於或等於 |
{<key>:{$gte:<value>}} |
db.users.find({"age":{$gte:23}}).pretty() |
where likes >= 23 |
| 不等於 |
{<key>:{$ne:<value>}} |
db.users.find({"age":{$ne:23}}).pretty() |
where likes != 23 |
例如:等於-->db.users.find({"age":23})
小於-->db.users.find({"age":{$lt:25}})
小於等於-->db.users.find({"age":{$lte:25}})
AND 條件查詢
例如:db.users.find({"age":{$lte:25},"name":"張三"})
兩個key-value並列放著就行了
OR條件查詢
例如:db.users.find({$or:[{"name":"張三"},{"age":25}]})
【注意:需要使用 {$or:[{key:value},{key:value}]}這種格式】
AND和OR混用的情況
例如:db.users.find({"age":{$gte:23},$or:[{_id:1},{"name":"裡斯"}]})
剖析一下結構:
db.users.find({
"age":{$gte:23},
$or:[
{_id:1},
{"name":"裡斯"}
]
})
【MongoDB】3.詳細命令集合