我正在构建一个基于在Heroku上运行的Node.js的应用程序。
该应用程序使用的JSON文件目前正在与应用程序的其余部分一起推送,我们正在阅读和写入它:
var channelsList = require("./JSON/channels.json");
...
fs.writeFile("JSON/channels.json", JSON.stringify(channelsList), onCleaned);
这对于原型来说现在已经有效,但我知道我们需要使用数据存储,否则当Dyno睡眠或我推动更改时,更改将不会持续存在。
我已经读过,使用Mongolabs设置数据库可能是一个不错的选择,但我想知道是否还有其他选项,因为这似乎可能比必要的更复杂。这对我来说是一个新的领域,所以如果Mongo是要走的路,那么指针也会受到赞赏。
我们还希望将新文件写为一周中每一天的备份。
干杯。
答案 0 :(得分:19)
披露:我是Heroku的node.js平台所有者。
您需要将状态从应用程序中移除。要替换节点应用程序中的JSON文件,您应该查看mongo,s3和redis:
就个人而言,我更喜欢redis用于简单的用例(听起来你可能有资格)。您可以将JSON转储并解析出来。或者,最流行的节点redis客户端为简单的哈希提供友好的界面:
https://github.com/mranney/node_redis#friendlier-hash-commands
Redis,mongo,s3: