• <menu id="w2i4a"></menu>
  • logo Navicat使用教程-2019.1

    文檔首頁>>Navicat使用教程-2019.1>>Navicat使用教程:在MongoDB中使用游標(biāo)

    Navicat使用教程:在MongoDB中使用游標(biāo)


    Navicat for MariaDB 為 MariaDB 數(shù)據(jù)庫管理提供了一個(gè)原生環(huán)境。你可以直觀地設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)、運(yùn)行 SQL 查詢和腳本、管理 MariaDB 用戶及其權(quán)限。

    點(diǎn)擊下載Navicat for MariaDB正式版

    SQL查詢通常從數(shù)據(jù)庫服務(wù)器返回多行數(shù)據(jù)。關(guān)系數(shù)據(jù)庫提供游標(biāo),作為迭代每一行結(jié)果集的方法。這是否意味著MongoDB用戶不走運(yùn)?事實(shí)證明,MongoDB的db.collection.find()函數(shù)返回一個(gè)游標(biāo)。在MongoDB中,游標(biāo)本身提供了用于處理單個(gè)行的其他功能。在本文中,我們將學(xué)習(xí)如何在Navicat for MongoDB中使用MongoDB游標(biāo)。

    一個(gè)簡(jiǎn)單的迭代示例

    通過db.collection.find()函數(shù)執(zhí)行查詢將返回指向返回的文檔集合的指針,該指針是游標(biāo)。游標(biāo)的默認(rèn)行為是允許對(duì)查詢結(jié)果進(jìn)行自動(dòng)迭代。但是,開發(fā)人員可以顯式瀏覽游標(biāo)對(duì)象中返回的項(xiàng)目。一種方法是使用forEach()游標(biāo)方法。

    在Navicat中,很容易使用find()方法。例如,您可以將預(yù)定義的代碼段拖到“查詢編輯器”中:

    在MongoDB中使用游標(biāo)

    或者,您可以使用“查找生成器”。只需選擇“集合”或“視圖”即可獲取所有文檔:

    在MongoDB中使用游標(biāo)

    從這里,您可以將forEach()直接鏈接到結(jié)果光標(biāo)。在以下示例中,我們集合中的三個(gè)文檔被打印到控制臺(tái)。您可以在“打印輸出”選項(xiàng)卡中查看輸出:

    在MongoDB中使用游標(biāo)

    不同種類的循環(huán)

    像所有JavaScript對(duì)象一樣,游標(biāo)可以存儲(chǔ)在變量中以備后用。由于cursor.hasNext()和cursor.next()方法,還完全支持其他JavaScript結(jié)構(gòu)(如while循環(huán))。正如我們?cè)诒纠锌吹降?,hasNext()通知循環(huán)測(cè)試器是否有另一個(gè)文檔要迭代。next()返回所述文檔。

    printjson()幫助程序方法是一種方便的方法,它代替了print(tojson())。它基本上按與存儲(chǔ)在數(shù)據(jù)庫中相同的方式輸出文檔,只是將它們表示為JSON而不是BSON(等效的二進(jìn)制文件)。

    更新數(shù)據(jù)

    回想一下db.collection.find()返回一個(gè)指向返回的文檔集合的指針。這樣,文檔字段是完全可編輯的。因此,我們可以調(diào)用forEach()方法來更新符合指定條件的文檔。這是一個(gè)用于更新名稱等于“Tom Smith”的文檔的函數(shù):

    在MongoDB中使用游標(biāo)

    在我們的示例中,只有一個(gè)匹配的文檔,但是從理論上講,可以有很多。

    數(shù)據(jù)轉(zhuǎn)換

    一種數(shù)據(jù)轉(zhuǎn)換類型是簡(jiǎn)化數(shù)據(jù)集的結(jié)構(gòu),以使其更易于使用。為此,我們可以使用map()函數(shù)。本示例將split()函數(shù)應(yīng)用于名稱字段,以將其分解為它的第一個(gè)和最后一個(gè)組成部分。然后,reverse()和join()方法將“Tom Smithers”轉(zhuǎn)換為“ Smithers,Tom”:

    在MongoDB中使用游標(biāo)

    結(jié)論

    在今天的文章中,我們了解了db.collection.find()方法返回的游標(biāo)如何與各種方法一起打包以遍歷文檔,以打印、修改、刪除或轉(zhuǎn)換其內(nèi)容。感興趣的朋友可以下載Navicat for MariaDB體驗(yàn)一下哦~

    相關(guān)內(nèi)容推薦:

    Navicat系列教程>>>


    想要購買Navicat for MariaDB正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”

    Zend-Studio-640×220.png


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();