在Heroku上使用Node读取,编写和存储JSON

时间:2014-07-14 23:02:04

标签: json node.js mongodb heroku datastore

我正在构建一个基于在Heroku上运行的Node.js的应用程序。

该应用程序使用的JSON文件目前正在与应用程序的其余部分一起推送,我们正在阅读和写入它:

var channelsList = require("./JSON/channels.json");

...

fs.writeFile("JSON/channels.json", JSON.stringify(channelsList), onCleaned);

这对于原型来说现在已经有效,但我知道我们需要使用数据存储,否则当Dyno睡眠或我推动更改时,更改将不会持续存在。

我已经读过,使用Mongolabs设置数据库可能是一个不错的选择,但我想知道是否还有其他选项,因为这似乎可能比必要的更复杂。这对我来说是一个新的领域,所以如果Mongo是要走的路,那么指针也会受到赞赏。

我们还希望将新文件写为一周中每一天的备份。

干杯。

1 个答案:

答案 0 :(得分:19)

披露:我是Heroku的node.js平台所有者。

您需要将状态从应用程序中移除。要替换节点应用程序中的JSON文件,您应该查看mongo,s3和redis:

  • mongo :功能丰富,速度相当快
  • s3 :最能映射到'文件系统'存储(注意权限)
  • redis :简单快捷

就个人而言,我更喜欢redis用于简单的用例(听起来你可能有资格)。您可以将JSON转储并解析出来。或者,最流行的节点redis客户端为简单的哈希提供友好的界面:

https://github.com/mranney/node_redis#friendlier-hash-commands

Redis,mongo,s3: