MongoDB開源數(shù)據(jù)庫開發(fā)工具dbKoda
Southbank Software公司最近發(fā)布了 dbKoda 0.6.0 ,這是該軟件的 首個發(fā)布版 。dbKoda是一款開源的 MongoDB 開發(fā)工具,采用JavaScript、 React 和 Electron 開發(fā)。下圖顯示了dbKoda的用戶圖形界面,突出特點是提供了一個連接管理器(Connection Manager)和代碼編輯器(Code Editor),其中代碼編輯器給出了豐富的MongoDB數(shù)據(jù)操作特性。

連接管理器
連接管理器維護多個數(shù)據(jù)庫連接的配置信息(Profile)。在連接管理器窗口的下半部分,顯示了包含每個活躍數(shù)據(jù)庫連接及相應集合(Collection)的列表。點擊鼠標右鍵,就會彈出一系列菜單選項,包括構(gòu)建查詢、執(zhí)行CRUD操作、索引和導入導出數(shù)據(jù)(如下圖左側(cè)所示)。連接配置信息編輯器用于創(chuàng)建新的數(shù)據(jù)庫連接,它支持所有形式的數(shù)據(jù)庫連接語法(如下圖右側(cè)所示)。

代碼編輯器
代碼編輯器中包括了查詢輸入輸出窗口,該窗口用于編寫和執(zhí)行MongoDB的Shell命令。編輯器的特性包括了代碼格式化、代碼自動完成、代碼折疊和語法高亮顯示。用戶可以在代碼編輯器中手工編寫查詢,也可以使用查詢構(gòu)建器構(gòu)建查詢(如下圖所示)。查詢構(gòu)建器可以在代碼編輯器中動態(tài)地生成相應的MongoDB的Shell命令。該特性在編寫復雜的MongoDB Shell命令時非常有用,它消除了如何正確格式化大括號和圓括號的一系列繁瑣操作。

在Southbank Software最新發(fā)布的 dbKoda 0.7.0版 中,提供了如下新特性:
聚合構(gòu)建器(Aggregation Builder); 存儲下鉆(Storage Drilldown); SSH隧道連接(SSH Tunneling Connections); 改進的JSON查看器; 導入和導出。
聚合構(gòu)建器的功能類似于查詢構(gòu)建器,支持構(gòu)建需要 aggregate 聚合函數(shù)的更復雜查詢。在下面的例子中, publications 集合(Collection)使用 $lookup 操作符執(zhí)行與 authors 集合的做內(nèi)連接運算。
db.publications.aggregate({"$lookup": {
"localField" : "author_id",
"from" : "authors",
"foreignField" : "_id",
"as" : "authorinfo"
}})
如下圖所示,聚合構(gòu)建器僅需輸入 localField 、 from 、 foreignField 和 as 等鍵值域所需的內(nèi)容,就可動態(tài)生成內(nèi)連接運算。

Southbank Software公司CTO Guy Harrison 就dbKoda產(chǎn)品接受了InfoQ的采訪。
InfoQ:開發(fā)dbKoda產(chǎn)品的靈感來自于哪里?
Guy Harrison:當我撰寫《下一代數(shù)據(jù)庫》(Next Generation Databases)一書時,敏銳地意識到我們正經(jīng)處于數(shù)據(jù)庫系統(tǒng)的第三次變革中。新一代的數(shù)據(jù)庫專業(yè)人士需要新一代的數(shù)據(jù)庫工具??紤]到我本身就具有數(shù)據(jù)庫和軟件開發(fā)的背景,因此我認為自己應該嘗試創(chuàng)立一家公司,去推出下一代的數(shù)據(jù)庫工具。
InfoQ:dbKoda為什么以MongoDB為首選?
Harrison:“NoSQL”生態(tài)系統(tǒng)中杰出者眾,我第一時間能想到就有Cassandra、Couchbase、Hadoop、park和Neo4J等。但是就MongoDB當前已具有三千萬次下載使用而言,它無疑是遙遙領先的。
InfoQ: dbKoda未來是否會提供對其它數(shù)據(jù)庫的支持?如果是這樣,它將會支持哪些數(shù)據(jù)庫?時間節(jié)點如何?
Harrison:我們的確規(guī)劃在未來的一年中提供對更多數(shù)據(jù)庫的支持,其中包括一些關系型數(shù)據(jù)庫,也有一些非關系型數(shù)據(jù)庫。
InfoQ:dbKoda未來將如何發(fā)展?您能為我們詳細介紹一下1.0版本的規(guī)劃嗎?
Harrison:我們目前正致力于為在NodeJS等框架中使用MongoDB的開發(fā)人員提供更深入的支持,其中包括提供SQL查詢功能(通過 Apache Drill ),并改進查詢的構(gòu)建和輸出處理。
我們期待1.0版將具備基于訂購的托管功能,并且是面向服務器的產(chǎn)品版本,其中包括更深入的性能分析功能、提供協(xié)作特性,并持續(xù)為編程人員使框架對MongoDB編程提供支持。
InfoQ:您在Southbank Software任職多久了?能為我們介紹一下您當前的職責嗎?
Harrison:我是Southbank Software的CTO及創(chuàng)始人,也是Toba Capital的合伙人。Toba Capital是投資dbKoda的風險投資商之一。我身兼多重職責,包括企業(yè)管理、產(chǎn)品特征設計、編寫自動測試以及部分特征的編碼工作。我們的團隊具有六位dbKoda的全職開發(fā)人員。
Harrison給出了一個五分鐘時長的YouTube 視頻 ,其中展示了dbKoda入門指南。
查看英文原文: Southbank Software Introduces dbKoda, an Open Source Database Development Tool for MongoDB
相關文章
使用Node操作MongoDB數(shù)據(jù)庫的方法
這篇文章主要介紹了使用Node操作MongoDB數(shù)據(jù)庫的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-01-01
Ubuntu 18.04安裝MongoDB 4.0 的教程詳解
這篇文章主要介紹了Ubuntu 18.04安裝MongoDB 4.0 的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04
解決MongoDB?位置查詢報錯planner?returned?error:?unable?to?find
這篇文章主要介紹了MongoDB位置查詢報錯planner?returned?error:?unable?to?find?index?for?$geoNear?query的解決方案,需要的朋友可以參考下2023-08-08
Mongodb?刪除集合數(shù)據(jù)后釋放磁盤空間的操作步驟
Mongodb當集合數(shù)據(jù)占用比較多,對其進行清理后,集合存儲空間下降,但磁盤空間并沒釋放,對于具有活動更新的集合來說,有一些可重用的空間是正常的,過多的可重用空間通常是刪除大量數(shù)據(jù)的結(jié)果,這篇文章主要介紹了Mongodb?刪除集合數(shù)據(jù)后如何釋放磁盤空間,需要的朋友可以參考下2023-11-11

