欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) mongodb基本操作

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) mongodb基本操作

http://yzkb.51969.com/

1.數(shù)據(jù)庫(kù)操作

1.新建數(shù)據(jù)庫(kù)

use DATABASE NAME

use:用于切換/創(chuàng)建數(shù)據(jù)庫(kù),若不存在則創(chuàng)建,否則切換到指定數(shù)據(jù)庫(kù)。DATABASE_NAME:數(shù)據(jù)庫(kù)名稱。 執(zhí)行use articledb命令,創(chuàng)建數(shù)據(jù)庫(kù)articledb。

2.查看數(shù)據(jù)庫(kù)

?查看全部數(shù)據(jù)庫(kù)

show dbs 或者查看當(dāng)前數(shù)據(jù)庫(kù),需要先切換到指定數(shù)據(jù)庫(kù) db

3.刪除數(shù)據(jù)庫(kù)

db.dropDatabase()

db:表示當(dāng)前數(shù)據(jù)庫(kù)對(duì)象。 dropDatabase():用于刪除當(dāng)前數(shù)據(jù)庫(kù)的方法。 刪除當(dāng)前數(shù)據(jù)庫(kù),執(zhí)行命令前應(yīng)使用use命令切換到要?jiǎng)h除的數(shù)據(jù)庫(kù),為了防止誤刪可執(zhí)行命令db驗(yàn)證當(dāng)前數(shù)據(jù)庫(kù)是否為指定刪除的數(shù)據(jù)庫(kù)。

2.集合操作

1.創(chuàng)建集合

顯示創(chuàng)建 db.createCollection(COLLECTION NAME, [OPTIONS])

隱式創(chuàng)建 db.COLLECTION NAME.insert(DOCUMENT)

db:表示當(dāng)前數(shù)據(jù)庫(kù)對(duì)象。 createCollection():創(chuàng)建集合方法。DOCUMENT表示文檔。 COLLECTION_NAME表示集合名稱。OPTIONS表示集合配置。 insert():向集合中插入文檔的方法。

2.刪除集合

db:表示當(dāng)前數(shù)據(jù)庫(kù)對(duì)象。 COLLECTION_NAME:表示集合名稱。drop():刪除集合方法。 db.COLLECTION NAME.drop()

3.文檔操作

1.單文檔插入

db.COLLECTION NAME.insert(document)

或者 db.COLLECTION NAME.save(document)

2.多文檔插入

db.COLLECTION NAME.insertMany([document1,document2,...])

db:當(dāng)前數(shù)據(jù)庫(kù)對(duì)象 COLLECTION_NAME:**當(dāng)前集合對(duì)象。insert()和save():插入單文檔方法。 insertMany():插入多文檔方法。 insert()和save()方法的區(qū)別在于,若使用insert()方法插入文檔時(shí),集合中已存在該文檔,則會(huì)報(bào)錯(cuò)。若使用save()方法插入文檔時(shí),集合中已存在該文檔,則會(huì)覆蓋。

3.文檔更新

db:當(dāng)前數(shù)據(jù)庫(kù)對(duì)象。 COLLECTION_NAME:當(dāng)前集合對(duì)象。update():更新文檔方法。 criteria:更新的查詢條件,類似sql中的where。 objNew:新的對(duì)象和操作符,類似sql中的set。 upsert:不存在更新對(duì)象時(shí),是否插入,默認(rèn)為false multi:默認(rèn)為false,只更新查找到的第一個(gè)文檔,反之更新所有。 db.COLLECTION NAME.update(criteria,objNew,upsert, multi)

4.升級(jí)語(yǔ)法

db.集合名.update(條件, 新數(shù)據(jù)){修改器: {鍵:值}}

4.文檔刪除

1.刪除單個(gè)

db.COLLECTION NAME.remove( , { justOne: , writeConcern: } )

2.刪除全部文檔

db.COLLECTION NAME.remove({}) db:當(dāng)前數(shù)據(jù)庫(kù)對(duì)象。 COLLECTION_NAME:當(dāng)前集合對(duì)象。remove():刪除文檔方法。 query:刪除文檔的條件,可選參數(shù)。 justOne:的boolean為true或1時(shí),表示只刪除查詢出的第一個(gè)文檔。writeConcern: 表示拋出異常級(jí)別。

3.文檔簡(jiǎn)單查詢

查詢所有文檔語(yǔ)法 db.COLLECTION NAME.find()

查詢所有文檔,以易讀的方式展示 db:當(dāng)前數(shù)據(jù)庫(kù)對(duì)象 COLLECTION_NAME:當(dāng)前集合對(duì)象 find():查詢所有文檔方法 pretty():格式化查詢返回結(jié)果 db.COLLECTION NAME.find().pretty()

5.聚合查詢

1.語(yǔ)法

db.集合名稱.aggregate([ {管道:{表達(dá)式}} .... ])

其中“[]”不是必須的,可以省略!?。?/p>

6.索引優(yōu)化

1.介紹?

MongoDB數(shù)據(jù)庫(kù)提供了多樣性的索引支持,因此可以提高查詢集合中文檔的效率。若是沒(méi)有索引,MongoDB數(shù)據(jù)庫(kù)必須執(zhí)行全集合掃描(即掃描集合中的每一個(gè)文檔),從而篩選出與查詢條件相匹配的文檔。這種掃描全集合的查詢效率是非常低的,尤其是在處理海量數(shù)據(jù)時(shí),執(zhí)行查詢操作需要花費(fèi)幾十秒甚至幾分鐘的時(shí)間,這無(wú)疑對(duì)網(wǎng)站的性能是非常致命的。若是執(zhí)行查詢操作時(shí),集合中的文檔存在適當(dāng)?shù)乃饕?,MongoDB就可以使用該索引限制必須檢查的文檔數(shù)量。 ?索引是一種特殊的數(shù)據(jù)結(jié)構(gòu),即采用B-Tree數(shù)據(jù)結(jié)構(gòu)。索引是以易于遍歷讀取的形式存儲(chǔ)著集合中文檔的一小部分,文檔的一小部分指文檔中的特定字段或一/多組字段,并且這些字段均按照字段的值進(jìn)行排序。索引項(xiàng)的排序支持有效的等值匹配和基于范圍的查詢操作。此外,MongoDB還可以使用索引中的排序返回排序的結(jié)果。

2.單字段索引

MongoDB支持在文檔的單個(gè)字段上創(chuàng)建用戶定義的升序/降序索引,因此被稱為單字段索引(SingleField Index)。默認(rèn)情況下,MongoDB中所有集合在“_id”字段上都有一個(gè)索引,用戶也可以根據(jù)自己的需求添加額外索引來(lái)支持重要的查詢和操作。由于MongoDB可以從任何方向遍歷索引,因此對(duì)于單個(gè)字段索引和排序操作來(lái)說(shuō),索引項(xiàng)的排序順序(即升序或降序)并不重要。

3.復(fù)合索引

MongoDB除了支持單字段索引外,還支持復(fù)合索引。所謂復(fù)合索引,就是包含多個(gè)字段的索引,一個(gè)復(fù)合索引最多可以包含31個(gè)字段。需要注意的是,若某字段屬于哈希索引,則這時(shí)復(fù)合索引就不能包括該字段。

4.多鍵索引

若文檔中的字段為數(shù)組類型,則每個(gè)字段都是數(shù)組中的一個(gè)元素,MongoDB將會(huì)為數(shù)組中的每個(gè)元素創(chuàng)建索引,因此被稱為多鍵索引(Multikey Index)。多鍵索引允許通過(guò)匹配數(shù)組的一個(gè)或多個(gè)元素來(lái)查詢包含該數(shù)組的文檔。如果索引字段包含數(shù)組值,則MongoDB會(huì)自動(dòng)確定是否創(chuàng)建多鍵索引,而無(wú)需顯式地指定創(chuàng)建多鍵索引。

5.查看索引

db.COLLECTION NAME.getIndexes()

6.查看索引大小

db.COLLECTION NAME.totalIndexSize()

7.創(chuàng)建索引

db.COLLECTION NAME.createIndex(keys,options)

keys:指定索引鍵及排序順序,該參數(shù)值為文檔類型,key用于指定索引鍵,value指定排序順序,1為升序,-1為降序。 options:用于控制創(chuàng)建索引的選項(xiàng),常見(jiàn)選項(xiàng)有unique和name,其中unique描述建立的索引是否唯一,默認(rèn)為false。name描述所創(chuàng)建索引的名稱,默認(rèn)情況下MongoDB會(huì)通過(guò)連接索引的字段名和排序順序生成一個(gè)索引名稱。

8.刪除索引

1.刪除所有索引

db.COLLECTION NAME.dropIndexes()

2.刪除單個(gè)索引

db.COLLECTION NAME.dropIndex(index) 參數(shù)index,其數(shù)據(jù)類型為字符串或文檔,可用于指定要?jiǎng)h除的索引.

9.API訪問(wèn)

1.通過(guò)python訪問(wèn)MongoDB

Python 要連接 MongoDB 需要 MongoDB 驅(qū)動(dòng),這里我們使用 PyMongo 驅(qū)動(dòng)來(lái)連接。

1.pip 安裝

pip 是一個(gè)通用的 Python 包管理工具,提供了對(duì) Python 包的查找、下載、安裝、卸載的功能。安裝 pymongo:

pip install pymongo

也可以指定安裝的版本: pip install pymongo==3.5.1

更新 pymongo 命令: pip install upgrade pymongo

2.創(chuàng)建數(shù)據(jù)庫(kù)

創(chuàng)建數(shù)據(jù)庫(kù)需要使用 MongoClient 對(duì)象,并且指定連接的 URL 地址和要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名。如下實(shí)例中,我們創(chuàng)建的數(shù)據(jù)庫(kù) runoobdb :

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/")mydb = myclient["runoobdb"]

注意: 在 MongoDB 中,數(shù)據(jù)庫(kù)只有在內(nèi)容插入后才會(huì)創(chuàng)建! 就是說(shuō),數(shù)據(jù)庫(kù)創(chuàng)建后要?jiǎng)?chuàng)建集合(數(shù)據(jù)表)并插入一個(gè)文檔(記錄),數(shù)據(jù)庫(kù)才會(huì)真正創(chuàng)建。

3.判斷數(shù)據(jù)庫(kù)是否已存在

我們可以讀取 MongoDB 中的所有數(shù)據(jù)庫(kù),并判斷指定的數(shù)據(jù)庫(kù)是否存在:

list_database_names()。 import pymongo myclient = pymongo.MongoClient('mongodb://localhost:27017/') dblist = myclient.list database names() # dblist = myclient.database names() if "runoobdb" in dblist: print("數(shù)據(jù)庫(kù)已存在!") 注意:database_names 在最新版本的 Python 中已廢棄,Python3.7+ 之后的版本改為了

2.創(chuàng)建一個(gè)集合

MongoDB 使用數(shù)據(jù)庫(kù)對(duì)象來(lái)創(chuàng)建集合,實(shí)例如下:

import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/")mydb = myclient["runoobdb"] mycol = mydb["sites"] 注意: 在 MongoDB 中,集合只有在內(nèi)容插入后才會(huì)創(chuàng)建! 就是說(shuō),創(chuàng)建集合(數(shù)據(jù)表)后要再插入一個(gè)文檔(記錄),集合才會(huì)真正創(chuàng)建。

1.判斷集合是否已存在

我們可以讀取 MongoDB 數(shù)據(jù)庫(kù)中的所有集合,并判斷指定的集合是否存在:

import pymongo myclient = pymongo.MongoClient('mongodb://localhost:27017/') mydb = myclient['runoobdb'] collist = mydb. list collection names() # collist = mydb.collection names() if "sites" in collist: # 判斷 sites 集合是否存在 print("集合已存在!") 注意:collection_names 在最新版本的 Python 中已廢棄,Python3.7+ 之后的版本改為了 list_collection_names()。

3.增、刪、改、查等操作

1.Python Mongodb 插入文檔

插入集合 集合中插入文檔使用 insert_one() 方法,該方法的第一參數(shù)是字典 name => value 對(duì)。以下實(shí)例向 sites 集合中插入文檔:import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/")mydb = myclient["runoobdb"]mycol = mydb["sites"] mydict = { "name": "RUNOOB", "alexa": "10000", "url": "https://www.runoob.com" } x = mycol.insert one(mydict) print(x)

2.返回 _id 字段

insert_one() 方法返回 InsertOneResult 對(duì)象,該對(duì)象包含 inserted_id 屬性,它是插入文檔的 id值。 myclient = pymongo.MongoClient('mongodb://localhost:27017/')mydb = myclient['runoobdb']mycol = mydb["sites"] mydict = { "name": "Google", "alexa": "1", "url": "https://www.google.com" } x = mycol.insert one(mydict) print(x.inserted id)

如果我們?cè)诓迦胛臋n時(shí)沒(méi)有指定 _id,MongoDB 會(huì)為每個(gè)文檔添加一個(gè)唯一的 id。

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) mongodb基本操作

http://yzkb.51969.com/

好文推薦

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19203150.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄