MongoDB開源數(shù)據(jù)庫開發(fā)工具dbKoda
Southbank Software公司最近發(fā)布了 dbKoda 0.6.0 ,這是該軟件的 首個(gè)發(fā)布版 。dbKoda是一款開源的 MongoDB 開發(fā)工具,采用JavaScript、 React 和 Electron 開發(fā)。下圖顯示了dbKoda的用戶圖形界面,突出特點(diǎn)是提供了一個(gè)連接管理器(Connection Manager)和代碼編輯器(Code Editor),其中代碼編輯器給出了豐富的MongoDB數(shù)據(jù)操作特性。
連接管理器
連接管理器維護(hù)多個(gè)數(shù)據(jù)庫連接的配置信息(Profile)。在連接管理器窗口的下半部分,顯示了包含每個(gè)活躍數(shù)據(jù)庫連接及相應(yīng)集合(Collection)的列表。點(diǎn)擊鼠標(biāo)右鍵,就會(huì)彈出一系列菜單選項(xiàng),包括構(gòu)建查詢、執(zhí)行CRUD操作、索引和導(dǎo)入導(dǎo)出數(shù)據(jù)(如下圖左側(cè)所示)。連接配置信息編輯器用于創(chuàng)建新的數(shù)據(jù)庫連接,它支持所有形式的數(shù)據(jù)庫連接語法(如下圖右側(cè)所示)。
代碼編輯器
代碼編輯器中包括了查詢輸入輸出窗口,該窗口用于編寫和執(zhí)行MongoDB的Shell命令。編輯器的特性包括了代碼格式化、代碼自動(dòng)完成、代碼折疊和語法高亮顯示。用戶可以在代碼編輯器中手工編寫查詢,也可以使用查詢構(gòu)建器構(gòu)建查詢(如下圖所示)。查詢構(gòu)建器可以在代碼編輯器中動(dòng)態(tài)地生成相應(yīng)的MongoDB的Shell命令。該特性在編寫復(fù)雜的MongoDB Shell命令時(shí)非常有用,它消除了如何正確格式化大括號(hào)和圓括號(hào)的一系列繁瑣操作。
在Southbank Software最新發(fā)布的 dbKoda 0.7.0版 中,提供了如下新特性:
聚合構(gòu)建器(Aggregation Builder); 存儲(chǔ)下鉆(Storage Drilldown); SSH隧道連接(SSH Tunneling Connections); 改進(jìn)的JSON查看器; 導(dǎo)入和導(dǎo)出。
聚合構(gòu)建器的功能類似于查詢構(gòu)建器,支持構(gòu)建需要 aggregate
聚合函數(shù)的更復(fù)雜查詢。在下面的例子中, publications
集合(Collection)使用 $lookup
操作符執(zhí)行與 authors
集合的做內(nèi)連接運(yùn)算。
db.publications.aggregate({"$lookup": { "localField" : "author_id", "from" : "authors", "foreignField" : "_id", "as" : "authorinfo" }})
如下圖所示,聚合構(gòu)建器僅需輸入 localField
、 from
、 foreignField
和 as
等鍵值域所需的內(nèi)容,就可動(dòng)態(tài)生成內(nèi)連接運(yùn)算。
Southbank Software公司CTO Guy Harrison 就dbKoda產(chǎn)品接受了InfoQ的采訪。
InfoQ:開發(fā)dbKoda產(chǎn)品的靈感來自于哪里?
Guy Harrison:當(dāng)我撰寫《下一代數(shù)據(jù)庫》(Next Generation Databases)一書時(shí),敏銳地意識(shí)到我們正經(jīng)處于數(shù)據(jù)庫系統(tǒng)的第三次變革中。新一代的數(shù)據(jù)庫專業(yè)人士需要新一代的數(shù)據(jù)庫工具??紤]到我本身就具有數(shù)據(jù)庫和軟件開發(fā)的背景,因此我認(rèn)為自己應(yīng)該嘗試創(chuàng)立一家公司,去推出下一代的數(shù)據(jù)庫工具。
InfoQ:dbKoda為什么以MongoDB為首選?
Harrison:“NoSQL”生態(tài)系統(tǒng)中杰出者眾,我第一時(shí)間能想到就有Cassandra、Couchbase、Hadoop、park和Neo4J等。但是就MongoDB當(dāng)前已具有三千萬次下載使用而言,它無疑是遙遙領(lǐng)先的。
InfoQ: dbKoda未來是否會(huì)提供對(duì)其它數(shù)據(jù)庫的支持?如果是這樣,它將會(huì)支持哪些數(shù)據(jù)庫?時(shí)間節(jié)點(diǎn)如何?
Harrison:我們的確規(guī)劃在未來的一年中提供對(duì)更多數(shù)據(jù)庫的支持,其中包括一些關(guān)系型數(shù)據(jù)庫,也有一些非關(guān)系型數(shù)據(jù)庫。
InfoQ:dbKoda未來將如何發(fā)展?您能為我們?cè)敿?xì)介紹一下1.0版本的規(guī)劃嗎?
Harrison:我們目前正致力于為在NodeJS等框架中使用MongoDB的開發(fā)人員提供更深入的支持,其中包括提供SQL查詢功能(通過 Apache Drill ),并改進(jìn)查詢的構(gòu)建和輸出處理。
我們期待1.0版將具備基于訂購的托管功能,并且是面向服務(wù)器的產(chǎn)品版本,其中包括更深入的性能分析功能、提供協(xié)作特性,并持續(xù)為編程人員使框架對(duì)MongoDB編程提供支持。
InfoQ:您在Southbank Software任職多久了?能為我們介紹一下您當(dāng)前的職責(zé)嗎?
Harrison:我是Southbank Software的CTO及創(chuàng)始人,也是Toba Capital的合伙人。Toba Capital是投資dbKoda的風(fēng)險(xiǎn)投資商之一。我身兼多重職責(zé),包括企業(yè)管理、產(chǎn)品特征設(shè)計(jì)、編寫自動(dòng)測(cè)試以及部分特征的編碼工作。我們的團(tuán)隊(duì)具有六位dbKoda的全職開發(fā)人員。
Harrison給出了一個(gè)五分鐘時(shí)長(zhǎng)的YouTube 視頻 ,其中展示了dbKoda入門指南。
查看英文原文: Southbank Software Introduces dbKoda, an Open Source Database Development Tool for MongoDB
相關(guān)文章
Mongodb 崩潰報(bào)錯(cuò) Too many open files的問題解析
這篇文章主要介紹了Mongodb 崩潰報(bào)錯(cuò) Too many open files的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12MongoDB4.28開啟權(quán)限認(rèn)證配置用戶密碼登錄功能
這篇文章主要介紹了MongoDB4.28開啟權(quán)限認(rèn)證配置用戶名和密碼認(rèn)證登錄,本文分步驟給大家介紹開啟認(rèn)證登錄的方法,需要的朋友可以參考下2022-01-01mongodb禁止外網(wǎng)訪問及添加賬號(hào)的操作方法
這篇文章主要介紹了mongodb禁止外網(wǎng)訪問及添加賬號(hào)的操作方法,需要的朋友可以參考下2017-12-12數(shù)據(jù)庫MongoDB啟動(dòng)的三種方式
MongoDB是一個(gè)流行的分布式文檔型數(shù)據(jù)庫,用于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),本文給大家總結(jié)了數(shù)據(jù)庫MongoDB啟動(dòng)的三種方式,講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-07-07解決net start MongoDB 報(bào)錯(cuò)之服務(wù)名無效的問題
這篇文章主要介紹了解決net start MongoDB 報(bào)錯(cuò)之服務(wù)名無效的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Spring Boot中使用MongoDB數(shù)據(jù)庫的方法
MongoDB是一個(gè)高性能,開源,無模式的,基于分布式文件存儲(chǔ)的文檔型數(shù)據(jù)庫,由C++語言編寫,其名稱來源取自“humongous”,是一種開源的文檔數(shù)據(jù)庫──NoSql數(shù)據(jù)庫的一種。這篇文章主要介紹了Spring Boot中使用MongoDB數(shù)據(jù)庫的方法,需要的朋友可以參考下2017-12-12