2014-02-22 21 views
1

我想使用.json文件來存儲數據,而不是使用數據庫。許多簡單的網站只有很少的數據,讀取/寫入文件(可以添加到版本控制中)似乎足夠,並且不需要數據庫版本控制/部署後勤。Node.js/CouchDB:使用.json文件而不是數據庫+版本控制

npm:node-store Here's one way to do it,但我需要實現各種查詢功能。

我真的不熟悉CouchDB。從我讀過的小文件來看,它看起來像可能使用文件來存儲JSON數據,但它可能使用某種磁盤存儲。有人可以對此有所瞭解嗎?

CouchDB是否可以將其JSON存儲在可添加到版本控制(git)的基於文本的文件中?

有誰知道另一個基於文本的存儲系統具有一些查詢功能嗎?

+0

如果你想要查詢功能而不實現它,那麼你需要某種類型的數據庫 – bryanmac

+0

Mongo適用於所有基於json的JS/node。也看@ http://ejdb.org/這是mongo喜歡,但作爲一個文件嵌入。 – bryanmac

回答

1

CouchDB是一個完整的數據庫。上面簡單使用基於文件的存儲爲您提供的值是額外的索引。也就是說,如果你是基於文件的話,你只能做基於關鍵字的查找(文件名)或者建立你自己的二級索引方法(符號鏈接或其他)。現在,您處於數據庫構建業務中,而不是應用程序構建業務,這很愚蠢,因爲您的整個前提似乎是簡單並專注於您的應用程序。

另外,請記住,當你有很多(甚至只有2個)人員對你的文件寫入數據時,那麼你將遇到文件系統鎖定問題或用戶覆蓋另一個文件系統。

你說得對,如果你只有幾條信息,那麼單個JSON文件 - 基本上就是一個配置文件 - 比數據庫要容易得多。特別是如果人們只從文件中讀取數據。

此外,請記住,有數據庫即服務解決方案可以消除DIY安裝/配置/維護/管理的需求。其中之一是基於CouchDB的Cloudant,與API兼容,貢獻回報等(我在Cloudant工作)。

1

有誰知道另一個基於文本的存儲系統與一些查詢功能?

您可以使用ueberDB模塊與Dirty文件存儲。

據我記得,這個存儲只是一次又一次地將你的數據附加到同一個文本文件,所以如果你真的有小數據集,它會工作得很好。

如果數據增長過多,則可以在使用同一模塊時更改存儲。

相關問題