學習MongoDB資料庫

大雄45發表於2020-12-10
導讀 MongoDB是一個介於關係型資料庫和非關係型資料庫之間的產品,是非關係型資料庫當中 功能最豐富,最像關係型資料庫的。

MongoDB資料庫手把手教你來學習MongoDB資料庫手把手教你來學習

MongoDB是一個介於關係型資料庫和非關係型資料庫之間的產品,是非關係型資料庫當中 功能最豐富,最像關係型資料庫的。

Ubuntu安裝MongoDB,直接sudo apt-get install mongodbMongoDB是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中 功能最豐富,最像關聯式資料庫的。它支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料型別。

Mongo最大的特點是它支援的查詢語言非常強大,其語法有點類似於物件導向的查詢語言,幾乎可以實現類似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。

將資料儲存為一個文件,文件類似與Json格式,比如下面形式。

{ 
    name:"毛利", 
    age:18, 
    address: {city:"東莞", country:"china"} 
}
MongoDB資料模型

MongoDB資料庫手把手教你來學習MongoDB資料庫手把手教你來學習

「如何進入和退出mongo」

MongoDB資料庫手把手教你來學習MongoDB資料庫手把手教你來學習

庫級操作語句

顯示所有庫:show dbs
切換/建立資料庫:use 資料庫名稱
檢視所在庫:db
刪除庫:db.dropDatabase()

集合操作語句

顯示當前資料庫的集合:show collections
建立集合:db.createCollection(name)
MongoDB資料庫手把手教你來學習MongoDB資料庫手把手教你來學習
刪除集合:db.集合名稱.drop()

文件操作

新增文件(資料)

db.集合名稱.insert(document)

每一條資料,就是一個document,就是一條json例:db.student.insert({name:'毛利', age:18})

注意點:

新增文件時,如果不指定_id引數 MongoDB會為文件分配一個唯一的ObjectId

給定 _id例:db.student.insert({'_id':1, name:'毛利', age:18})

新增多條文件

db.student.insert([ 
    {name:'毛利, sex:'男', age:18}, 
    {name:’毛利的爸爸', sex:'男', age:47}, 
    {name:’毛利的姐姐', sex:'女', age:23}, 
    {name:’毛利的媽媽‘, sex:’女', age:44}, 
])
查詢文件(資料)

db.集合名稱.find([conditions])

檢視集合中全部資料:db.student.find()

格式化顯示:db.student.find().pretty()

檢視滿足條件的資料:db.student.find({name:'毛利'})

條件查詢

and條件 {$and:[{expression1}, {expression1}, ...] }
or條件 {$or:[{expression1}, {expression1}, ...]
}db.student.find({$or:[{$and:[{sex:'女'}, {age:23}]},{$and:[{sex:'男'}, {age:{$gte:18}}]}]})
MongoDB資料庫手把手教你來學習MongoDB資料庫手把手教你來學習

修改文件(資料)

db.集合名稱.update(, , {multi:})

修改一條資料:db.student.update({sex:'男'}, {age:20})把表中的男的age改為20

指定屬性修改:{ $set: {age:20} }db.student.update({name:'毛利'}, {$set: {age:666, sex: '不告訴你'}} )

把毛利的age改為666,sex改為不告訴你

更新集合中所有滿足條件的文件:{ multi: true }

db.student.update({sex:'男'}, {$set:{sex:'女'}}, { multi:true} )

把所有按的改為女的

刪除文件(資料)

db.集合名稱.remove(, {justOne:})

刪除集合中所有的文件:db.student.remove({})
刪除集合中滿足條件的所有文件db.student.remove({sex: '男'})
只刪除集合中滿足條件的第一條文件:{ justOne: true }
db.student.remove({sex:'男'}, { justOne:true} )

在Python程式中操作

MongoDB在 Python 中操作 MongoDB ,需要使用 PyMongo 庫,執行如下操作安裝:pip3 install pymongo。

連線時需要使用 PyMongo 庫裡面的 MongoClient 模組,有兩種方式可以建立連線,預設只需要傳入IP和埠號即可。如果資料庫存在賬號密碼,則需要指定連線的資料庫,MongoDB的外網IP必須開放,才能連線成功。

>>> from pymongo import MongoClient 
>>> client = MongoClient('mongodb://192.168.92.92:27017')  
>>> db = client.school 
>>> for student in db.students.find(): 
...     print('姓名:', student['name'])

本文已收錄 GitHub:

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2741259/,如需轉載,請註明出處,否則將追究法律責任。

相關文章