1. 程式人生 > >MongoDB數據庫的基本操作

MongoDB數據庫的基本操作

不能 ont class data $set bms find 創建 student

介紹

  • MongoDB 是一個介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。

  • 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數據庫的基本操作