一、資料庫和表操作
-
show bds 檢視資料庫
-
use test 切換資料庫
-
db.dropDatabase() 刪除當前資料庫
-
use test 直接切換到資料庫,mongo會在適當的時候自動建立資料庫
-
db.mydb.drop()刪除表
二、增:插入文件(集合)
db.mydb.insert() 建立表並插入資料,資料格式為json,
如果json物件中不包含_id則會自動建立一個全域性唯一的_id,支援插入多條資料
db.mydb.insert({x:1}) 或 db.mydb.insert({x:1,_id:1})
for(i = 3; i < 100; i ++)db.mydb.insert({x:i}) 使用js語法插入100條資料
db.mydb.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一個 Nosql 資料庫',
by: '菜鳥教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
複製程式碼
- 也可以定義為一個變數document
document=({title: 'MongoDB 教程',
description: 'MongoDB 是一個 Nosql 資料庫',
by: '菜鳥教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
});
db.mydb.insert(document)
複製程式碼
三、刪:刪除文件(集合)
刪除集合下全部文件: db.mydb.deleteMany({})
刪除 status 等於 A 的全部文件: db.mydb.deleteOne( { status: "D" } )
刪除 status 等於 D 的一個文件: db.mydb.deleteOne( { status: "D" } )
四、改:更新文件(集合)
db.collection.updateOne() 向指定集合更新單個文件,[name是abc的age設定為28]
db.mydb.updateOne({"name":"abc"},{$set:{"age":"28"}})
db.mydb.find
複製程式碼
db.collection.updateMany() 向指定集合更新多個文件,[age大於10的status設定為xyz]
db.test_collection.updateMany({"age":{$gt:"10"}},{$set:{"status":"xyz"}})
複製程式碼
db.test_collection.insert({x:1,y:2})
db.test_collection.update({x:1},{z:3})更新x為1的資料,覆蓋所有其他資料,只剩下z:3更新後為{z:3}
db.test_collection.update({x:1},{$set:{z:3}})更新x為1的資料,增加或者修改z:3,其他欄位保持不變
db.test_collection.update({y:100},{y:999},true)第三個參數列示如果y:100的資料不存在則建立一條{y:999}的 資料
db.test_collection.update({x:10},{$set:{z:1200}}, false, true) 第三個引數false表示不存在也不建立,第四個引數true表示當有多條符合更新要求的資料記錄時會批量更新,此時必須使用$set操作符
複製程式碼
五、查:查詢文件(集合)
db.mydb.find()
通過 by 和 title 鍵來查詢 Mongodb 中 hello 的資料
db.col.find({"by":"Mongodb", "title":"hello"}).pretty()
show collections 檢視建立的表
db.test_collections.find() 預設查詢所有的記錄,可以為空。
db.test_collections.find({x:1}) 查詢符合x:1的記錄
db.test_collections.find().count() 查詢滿足條件的數目
db.test_collections.find().skip(3).limit(2).sort({x:1}) 忽略前三行,取兩條資料,按照x排序
db.test_collections.find().pretty() pretty() 方法以格式化的方式來顯示所有文件,更好看。
查詢多個條件用逗號隔開
複製程式碼
age大於50的,db.col.find({"age":{$gt:50}}).pretty()
www.cnblogs.com/wpjzh/p/599…