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

Jac*_*ild 13 json datastore heroku mongodb node.js

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

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

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

...

fs.writeFile("JSON/channels.json", JSON.stringify(channelsList), onCleaned);
Run Code Online (Sandbox Code Playgroud)

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

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

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

干杯.

hun*_*tis 20

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

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

  • mongo:功能丰富,速度相当快
  • s3:最能映射到'filesystem'存储的抽象(注意权限)
  • redis:简单快捷

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

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

Redis,mongo,s3:

  • 简而言之:你不能在 heroku 上创建文件,对吗?这让我正确地回答了有关用户文件上传等的问题。 (2认同)