MongoDB基本操作

豐澤發表於2018-10-22

一、資料庫和表操作

  • 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()

MongoDB基本操作
www.cnblogs.com/wpjzh/p/599…

相關文章