中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
MongoDB 關(guān)于MongoDB Shell的使用 (三)

 

    在本文中,將介紹mongo shell的基本知識,以及如何使用它來管理MongoDB文檔。為了使讀者更容易地理解和實(shí)踐概念,MongoDB shell的引入被分成了三個(gè)部分。
  • 第一部分介紹了數(shù)據(jù)庫的基本特性,包括基本的CRUD操作符。

  • 第二部分介紹高級查詢。

  • 第三部分解釋存儲(chǔ)和檢索數(shù)據(jù)的兩種方式:嵌入和引用。


一、MongoDB Shell 的基本查詢

    本部分將簡要討論CRUD操作(創(chuàng)建、讀取、更新和刪除)。使用基本的示例和練習(xí),您將了解如何在MongoDB中執(zhí)行這些操作。同時(shí),了解如何在MongoDB中執(zhí)行查詢。
    與用于查詢的傳統(tǒng)SQL不同,MongoDB使用它自己的類似于json的查詢從存儲(chǔ)的數(shù)據(jù)中檢索信息的語言。
    在成功安裝MongoDB之后,正如在第5章中所解釋的那樣,您將導(dǎo)航到目錄 [C:\practicalmongodb\bin\] 這個(gè)文件夾擁有運(yùn)行MongoDB的所有可執(zhí)行文件。
    MongoDB shell可以通過執(zhí)行mongo可執(zhí)行文件來啟動(dòng)。
    第一步總是要啟動(dòng)數(shù)據(jù)庫服務(wù)器。打開命令提示符(將其運(yùn)行為管理員)并發(fā)出命令CD。
    接下來,運(yùn)行命令C:實(shí)用的mongodb bin mongod.exe。(如果安裝在某些情況下其他文件夾,路徑會(huì)相應(yīng)地改變。對于本章中的例子,安裝在C:\practicalmongodb文件夾。)這將啟動(dòng)數(shù)據(jù)庫服務(wù)器。




    默認(rèn)情況下,MongoDB會(huì)偵聽本地主機(jī)接口端口27017的任何傳入連接。
    現(xiàn)在數(shù)據(jù)庫服務(wù)器已經(jīng)啟動(dòng),可以使用下面的命令向服務(wù)器發(fā)出命令mongo shell。
    在您查看mongo shell之前,讓我們簡要了解一下如何使用導(dǎo)入/導(dǎo)出工具導(dǎo)入在MongoDB數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù)。
    首先,創(chuàng)建一個(gè)CSV文件,以保存以下結(jié)構(gòu)的學(xué)生的記錄:名字,性別,階級,分?jǐn)?shù),年齡。



接下來,將MongoDB數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到一個(gè)新的集合中,以便查看導(dǎo)入工具。




簡而言之,你所做的是:

    1.連接到 Mongo Shell。

    2.切換到你要用的數(shù)據(jù)庫,例如admin。

    3.檢查在admin數(shù)據(jù)庫中存在的表,并show collections查看。

    4.核對你使用導(dǎo)入工具導(dǎo)入的表和數(shù)據(jù)。

    5.最后,之星find()命令來查看新表中的數(shù)據(jù)。


也可以使用help命令來查看相關(guān)指令。


在開始探索之前,讓我們先簡要介紹一下MongoDB術(shù)語和概念對應(yīng)于SQL術(shù)語和概念。表6-1總結(jié)了這一點(diǎn)。




    1.1 Create and Insert

現(xiàn)在,您將了解如何創(chuàng)建數(shù)據(jù)庫和集合。如前所述,這些文檔MongoDB是JSON格式的。
首先,通過發(fā)出db命令,您將確認(rèn)上下文是mydbpoc數(shù)據(jù)庫。

> db
mydbpoc

現(xiàn)在,您將看到如何創(chuàng)建文檔。
第一個(gè)文檔符合第一個(gè)原型而第二個(gè)文檔則符合第二個(gè)原型。
您已經(jīng)創(chuàng)建了兩個(gè)名為user1和user2的文檔。



接下來,您將按照以下順序?qū)⑦@兩個(gè)文檔(user1和user2)添加到用戶集合中的操作:

> db.users.insert(user1)
> db.users.insert(user2)

上面的操作不僅會(huì)將這兩個(gè)文檔插入到用戶的集合中,而且還會(huì)創(chuàng)建集合以及數(shù)據(jù)庫。
同樣可以使用show collection和show dbs進(jìn)行驗(yàn)證命令。

如前所述,dbs將顯示數(shù)據(jù)庫的列表。



show collections 將在當(dāng)前數(shù)據(jù)庫中顯示集合的列表。



與集合用戶一起,系統(tǒng)。索引集合也會(huì)顯示出來。這個(gè)系統(tǒng)。索引收集是在創(chuàng)建數(shù)據(jù)庫時(shí)默認(rèn)創(chuàng)建的。它管理著所有的信息數(shù)據(jù)庫中所有集合的索引。
執(zhí)行命令db.users.find()將在用戶集合中顯示文檔。



您可以看到您創(chuàng)建的兩個(gè)文檔被顯示出來。除了你添加到的字段之外對于所有的文檔,都會(huì)生成一個(gè)額外的id字段。所有文檔必須具有惟一的id字段。
如果您沒有明確指定,那么將自動(dòng)分配相同的值作為MongoDB的唯一對象ID,如上例所示。您沒有顯式地插入一個(gè)id字段,但是當(dāng)您使用find()命令來顯示文檔時(shí)
可以看到與每個(gè)文檔相關(guān)聯(lián)的id字段。這背后的原因是,默認(rèn)情況下,索引是在id字段上創(chuàng)建的,可以通過發(fā)出該字段來驗(yàn)證在系統(tǒng)上找到命令。收集索引。


可以使用ensureIndex()和dropIndex()從集合中添加或刪除新索引命令。我們將在本章后面討論這個(gè)問題。默認(rèn)情況下,在所有id字段上創(chuàng)建一個(gè)索引集合。
這個(gè)默認(rèn)索引不能被刪除。

    1.2 Explicitly Creating Collections

    在上面的例子中,第一個(gè)插入操作隱式地創(chuàng)建了集合。但是,用戶也可以在執(zhí)行insert語句之前顯式地創(chuàng)建一個(gè)集合。

    1.3 Inserting Documents Using Loop

還可以使用for循環(huán)將文檔添加到集合中。下面的代碼將插入用戶使用的代碼。



為了驗(yàn)證插入是否成功,可以在集合上運(yùn)行find命令。



用戶出現(xiàn)在集合中。在您進(jìn)一步了解之前,讓我們先了解一下它的“類型”聲明。find命令將一個(gè)光標(biāo)返回到結(jié)果集,而不是顯示所有的文檔(可以是成千上萬的結(jié)果)在一個(gè)屏幕上,光標(biāo)顯示了前20個(gè)文檔并等待請求迭代(it)顯示下一個(gè)20,直到所有結(jié)果集都顯示出來。所產(chǎn)生的光標(biāo)也可以被分配給一個(gè)變量,然后通過編程方式對其進(jìn)行迭代使用while循環(huán)。光標(biāo)對象也可以作為數(shù)組進(jìn)行操作。在您的例子中,如果您輸入“it”并按Enter鍵,下面將顯示以下內(nèi)容:



因?yàn)橹皇O聝蓚€(gè)文檔,所以它顯示剩下的兩個(gè)文檔。





    1.4 Inserting by Explicitly Specifying _id

在前面的插入示例中,沒有指定id字段,因此它是隱式添加的。在接下來的例如,您將看到如何在一個(gè)集合中插入文檔時(shí)顯式地指定id字段。在顯式地指定id字段時(shí),您必須記住字段的惟一性;否則插入就會(huì)失敗。



    1.5 Update

在本節(jié)中,您將探索update()命令,該命令用于更新集合中的文檔。update()方法在默認(rèn)情況下更新一個(gè)文檔。如果你需要更新所有的文檔匹配選擇條件,您可以通過將多個(gè)選項(xiàng)設(shè)置為true來實(shí)現(xiàn)。讓我們從更新現(xiàn)有列的值開始。$set操作符將用于更新的記錄。下面的命令更新了所有女性用戶的英國:




要檢查更新是否已經(jīng)發(fā)生,請發(fā)出一個(gè)find命令來檢查所有的女性用戶。



如果檢查輸出,就會(huì)看到只有第一個(gè)文檔記錄被更新,這是默認(rèn)值由于沒有指定多個(gè)選項(xiàng),所以更新的行為。
現(xiàn)在,讓我們更改update命令,并包含多選項(xiàng):




再次發(fā)出find命令來檢查這個(gè)國家是否已經(jīng)為所有女性更新過員工或不是。發(fā)出find命令將返回以下輸出:




正如您所看到的,這個(gè)國家被更新到英國,以滿足所有符合條件的記錄。
在實(shí)際應(yīng)用程序中工作時(shí),您可能會(huì)遇到可能出現(xiàn)的模式演化最后從文檔中添加或刪除字段。我們來看看如何在這個(gè)過程中進(jìn)行這些修改MongoDB數(shù)據(jù)庫。
update() 操作可以在文檔級別使用,這有助于更新單個(gè)文件在一個(gè)集合中文檔或一組文檔。
接下來,讓我們看看如何向文檔中添加新字段。為了向文檔中添加字段,使用使用$set操作符和多選項(xiàng)的update()命令。
如果使用$set的字段名,這是不存在的,那么該字段將被添加到文檔中。下面的命令將把字段公司添加到所有文檔:



對用戶的集合發(fā)出find命令,您將發(fā)現(xiàn)添加到所有文檔的新字段



如果您使用文檔中已有的字段執(zhí)行update()命令,它將更新該字段價(jià)值;但是,如果該字段沒有出現(xiàn)在文檔中,那么該字段將被添加到文檔中。
接下來,您將看到如何使用$unset操作符使用相同的update()命令來刪除字段從文檔。
以下命令將從所有文檔中刪除字段公司:



可以通過向用戶集合發(fā)出find()命令來檢查這一點(diǎn)。你可以看到公司字段已從文件中刪除。




    1.6 Delete

要?jiǎng)h除集合中的文檔,請使用remove()方法。如果你指定了一個(gè)選擇條件符合標(biāo)準(zhǔn)的文件將被刪除。如果沒有指定任何標(biāo)準(zhǔn),那么所有的文檔將被刪除。

下面的命令將刪除性別='M':



可以通過向用戶發(fā)出find()命令來驗(yàn)證這一點(diǎn):



沒有返回的文檔。
以下命令將刪除所有文檔:




如您所見,沒有返回任何文檔。
最后,如果您想要?jiǎng)h除集合,下面的命令將刪除集合:



為了驗(yàn)證是否刪除了集合,發(fā)出show集合命令。



正如您所看到的,集合名稱沒有顯示,確認(rèn)已經(jīng)刪除了集合從數(shù)據(jù)庫中。在介紹了基本的創(chuàng)建、更新和刪除操作之后,下一節(jié)將向您展示如何執(zhí)行讀操作。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
mongodb指南(十) - developer zone - 集合
MongoDB學(xué)習(xí)筆記(入門)
MongoDB是什么,怎么用?看完你就知道了
MongoDB簡介和基本概念(一)
MongoDB內(nèi)部架構(gòu)
MongoDB數(shù)據(jù)庫索引管理方法
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服