MongoDB數據庫的基本操作
阿新 • • 發佈:2018-09-09
不能 ont class data $set bms find 創建 student
介紹
-
-
MongoDB中將數據存儲為一個文檔,文檔由鍵值對(key=>value)組成,MongoDB 文檔類似於 JSON 對象。字段值可以包含其他文檔,數組及文檔數組。
基本概念
-
和關系型數據庫一樣,MongoDB存在數據庫的概念,一個MongoDB可以創建多個數據庫。
-
多個鍵及其關聯的值有序地放置在一起就是文檔,文檔時MongoDB中數據的基本單元,是MongoDB的核心概念,很類似關系數據庫中的行(記錄)。
-
RDBMS(關系型數據庫管理系統) | MongoDB |
Database(數據庫) | Database(數據庫) |
Table(表) | Collection(集合) |
Record(記錄) | Document(文檔) |
庫級操作
use DATABASE #切換/創建庫 show dbs #查看所有數據庫(空庫不會顯示) db.dropDatabase() #刪除當前數據庫 db #查看當前所在庫
集合操作
db.createCollection(name, options) #創建集合 用引號引起來 show collections #查看當前數據庫的集合 db.集合名稱.drop() #刪除集合
文檔操作
插入
db.集合名稱.insert(document) #插入文檔, 集合不存在會自動創建, 不能插入重復id的數 #_id 是12個字節十六進制數在一個集合的每個文檔是唯一的。 db.student.insert({name:‘句號‘}) db.student.insert({name:‘句號‘, age:18}) db.student.insert({_id:1, name:‘句號‘, age:18}) db.student.insert([ {name:‘juhao‘, sex:‘男‘, age:18}, {name:‘nanbei‘, sex:‘男‘, age:19}, {name:‘budong‘, sex:‘男‘, age:20}, ])
查詢
db.集合名稱.find() #查詢所有 db.集合名稱.find().pretty() #結構化顯示 db.集合.find({name:10}).pretty() where name = 10 db.集合.find({name:{$ne:10} }).pretty() where name != 10 db.集合.find({name:{$gt:10} }).pretty() where name > 10 db.集合.find({name:{$lt:10} }).pretty() where name < 10 #後面加個e就是加等於 #and邏輯 {$and:[{expression1}, {expression1}, ...] } #or邏輯 {$or:[{expression1}, {expression1}, ...] } #where sex=‘男‘ and age > 18 db.table.find({ $and:[ {sex:‘男‘}, {age:{$gt:18}} ] }) #where sex=‘女‘ or age =18 db.table.find({ $or:[ {sex:‘女‘}, {age:18} ] })
查詢條件
and條件 {$and:[{expression1},{expression2},{expression3}......]}
or條件 {$or:[{expression1},{expression2},{expression3}......]}
and和or的混用 db.table.find({$or:[{$and:[{sex:‘女‘}, {age:18}]},{$and:[{sex:‘男‘}, {age:{$gt:18}}]}]})
操作符 | 描述 |
$ne | 不等於 |
$gt | 大於 |
$lt | 小於 |
$gte | 大於等於 |
$lte | 小於等於 |
更新
db.table.insert({ name: ‘juhao‘, age: 18, height: 180, sex:‘男‘, virtue: [‘帥‘, ‘帥‘, ‘帥‘], }) db.table.update({sex:‘男‘},[{age:20},{height:180}]) #更新第一條找到的文檔全部值 db.table.update({sex:‘男‘}, {$set:{age:666, agee:6666}}) #修改第一條找到的文檔, key不存在就添加 db.table.update({sex:‘男‘}, {$set:{sex:‘女‘}}, {multi:true}) #更新滿足條件的全部數據 #前面查詢的條件也可以用在這裏, wherer sex=男 and age>18 db.table.update( {$and:[{sex:‘男‘}, {age:{$gt:18}}]}, {$set:{age:666}}, )
刪除
db.集合名稱.remove( <query>, <justOne> ) db.table.remove({age:18}) #刪除所有滿足條件的 db.table.remove({sex:‘男‘}, {justOne:true}) #刪除一條 #where sex=‘男‘ and age>18 db.table.remove({ $and:[ {sex:‘男‘}, {age:{$gt:18}} ] })
MongoDB數據庫的基本操作