溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MongoDB數(shù)據(jù)庫的使用方法

發(fā)布時(shí)間:2021-07-20 17:38:47 來源:億速云 閱讀:267 作者:chen 欄目:數(shù)據(jù)庫

這篇文章主要介紹“MongoDB數(shù)據(jù)庫的使用方法”,在日常操作中,相信很多人在MongoDB數(shù)據(jù)庫的使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”MongoDB數(shù)據(jù)庫的使用方法”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

 MongoDB

MongoDB是一個(gè)介于關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系型數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系型數(shù)據(jù)庫的。

Ubuntu安裝MongoDB,直接sudo apt-get install  mongodbMongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。

Mongo最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。

將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,文檔類似與Json格式,比如下面形式。

{     name:"毛利",     age:18,     address: {city:"東莞", country:"china"} }

MongoDB數(shù)據(jù)模型

MongoDB數(shù)據(jù)庫的使用方法

「如何進(jìn)入和退出mongo」

MongoDB數(shù)據(jù)庫的使用方法

庫級(jí)操作語句

  • 顯示所有庫:show dbs

  • 切換/創(chuàng)建數(shù)據(jù)庫:use  數(shù)據(jù)庫名稱

  • 查看所在庫:db

  • 刪除庫:db.dropDatabase()

集合操作語句

  • 顯示當(dāng)前數(shù)據(jù)庫的集合:show  collections

  • 創(chuàng)建集合:db.createCollection(name)

MongoDB數(shù)據(jù)庫的使用方法
  • 刪除集合:db.集合名稱.drop()

文檔操作

添加文檔(數(shù)據(jù))

db.集合名稱.insert(document)

每一條數(shù)據(jù),就是一個(gè)document,就是一條json例:db.student.insert({name:'毛利',  age:18})

注意點(diǎn):

添加文檔時(shí),如果不指定_id參數(shù) MongoDB會(huì)為文檔分配一個(gè)唯一的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}, ])

查詢文檔(數(shù)據(jù))

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

查看集合中全部數(shù)據(jù):db.student.find()

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

查看滿足條件的數(shù)據(jù):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數(shù)據(jù)庫的使用方法

修改文檔(數(shù)據(jù))

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

修改一條數(shù)據(jù):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} )

把所有按的改為女的

刪除文檔(數(shù)據(jù))

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

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

db.student.remove({sex:'男'}, {  justOne:true} )

在Python程序中操作

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

連接時(shí)需要使用 PyMongo 庫里面的 MongoClient  模塊,有兩種方式可以創(chuàng)建連接,默認(rèn)只需要傳入IP和端口號(hào)即可。如果數(shù)據(jù)庫存在賬號(hào)密碼,則需要指定連接的數(shù)據(jù)庫,MongoDB的外網(wǎng)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'])

到此,關(guān)于“MongoDB數(shù)據(jù)庫的使用方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI