自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

手把手教你MongoDB數(shù)據(jù)庫(kù)學(xué)習(xí)

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

 MongoDB

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

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

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

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

  1.     name:"毛利"
  2.     age:18, 
  3.     address: {city:"東莞", country:"china"

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


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


庫(kù)級(jí)操作語(yǔ)句

  • 顯示所有庫(kù):show dbs
  • 切換/創(chuàng)建數(shù)據(jù)庫(kù):use 數(shù)據(jù)庫(kù)名稱(chēng)
  • 查看所在庫(kù):db
  • 刪除庫(kù):db.dropDatabase()

集合操作語(yǔ)句

  • 顯示當(dāng)前數(shù)據(jù)庫(kù)的集合:show collections
  • 創(chuàng)建集合:db.createCollection(name)

  • 刪除集合:db.集合名稱(chēng).drop()

文檔操作

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

db.集合名稱(chēng).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})

  • 添加多條文檔
  1. db.student.insert([ 
  2.     {name:'毛利, sex:'男', age:18}, 
  3.     {name:’毛利的爸爸', sex:'男', age:47}, 
  4.     {name:’毛利的姐姐', sex:'女', age:23}, 
  5.     {name:’毛利的媽媽‘, sex:’女', age:44}, 
  6. ]) 

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

db.集合名稱(chēng).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}}]}]})


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

db.集合名稱(chēng).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 }

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

把所有按的改為女的

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

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

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

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

在Python程序中操作

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

連接時(shí)需要使用 PyMongo 庫(kù)里面的 MongoClient 模塊,有兩種方式可以創(chuàng)建連接,默認(rèn)只需要傳入IP和端口號(hào)即可。如果數(shù)據(jù)庫(kù)存在賬號(hào)密碼,則需要指定連接的數(shù)據(jù)庫(kù),MongoDB的外網(wǎng)IP必須開(kāi)放,才能連接成功。

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

本文已收錄 GitHub:https://github.com/MaoliRUNsen/runsenlearnpy100

 

責(zé)任編輯:姜華 來(lái)源: Python之王
相關(guān)推薦

2011-06-28 12:58:44

表分區(qū)

2023-09-21 22:08:01

2025-04-09 08:21:10

2021-07-14 09:00:00

JavaFX開(kāi)發(fā)應(yīng)用

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印機(jī)

2021-09-30 18:27:38

數(shù)據(jù)倉(cāng)庫(kù)ETL

2017-05-18 12:45:35

數(shù)據(jù)分析數(shù)據(jù)理解數(shù)據(jù)

2011-04-21 10:32:44

MySQL雙機(jī)同步

2021-02-26 11:54:38

MyBatis 插件接口

2011-02-22 13:46:27

微軟SQL.NET

2021-12-28 08:38:26

Linux 中斷喚醒系統(tǒng)Linux 系統(tǒng)

2022-01-08 20:04:20

攔截系統(tǒng)調(diào)用

2023-04-26 12:46:43

DockerSpringKubernetes

2022-12-07 08:42:35

2022-07-27 08:16:22

搜索引擎Lucene

2022-03-14 14:47:21

HarmonyOS操作系統(tǒng)鴻蒙

2022-07-14 07:34:26

windowsmysqlcentos

2017-09-05 13:01:11

CocoaPods開(kāi)源庫(kù)GitHub

2020-09-07 12:59:10

NoSQL數(shù)據(jù)庫(kù)數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)