【问题标题】:Storing some data with nodejs?用nodejs存储一些数据?
【发布时间】:2012-03-11 18:49:12
【问题描述】:

我正在为我朋友写的聊天机器人编写一个 lastfm 插件,我想做的一件事是允许人们使用他们的 lastfm 用户名注册他们的主机掩码/昵称(类似 !reg lastfmuser 会存储它带有主机掩码/昵称的用户名)。框架和插件是用 javascript/nodejs 编写的。我不知道从哪里开始在磁盘上存储/访问这些数据,或者无论如何它会完成。

基本上,我想要一个文件,当有人调用 lastfm 命令(nowplaying、compare、topartists)时它可以查看它,如果可能的话,它将使用存储的用户名而不是他们的昵称。所以文件会是这样的:

Hostname | Nick | Lastfmuser

我从来没有写过将数据存储在磁盘上的东西,或者必须从磁盘读取数据,而且我对 nodejs/javascript 还是很陌生。我查看了 alfred.js,但最终感到困惑,不确定这是否是我真正想要的。

【问题讨论】:

  • 你应该使用数据库。以 MongoDB 为例。
  • 听起来像是一个简单数据库的工作。也许像 MongoDB 这样的 noSQL DB ......?是的,@Sergio 说的。 :)
  • 我会调查一下,我从来没有自己组装/维护过数据库。不过,听起来很有趣。之前类似的插件用过bdb,可能已经有berkeley db的node包了。
  • mongoDB 似乎是解决这个问题的方法,并且可以让我做一些我想做的更酷的事情。
  • 这是一个用 Node.js 编写的命令行实用程序,还是我们在谈论一个用 Node.js 编写的 Web 服务。如果是后者,那么@Sergio 是正确的,您可能需要一个用于性能目的的数据库。如果是前者,那么您只需要the built-in 'fs' module。为简单起见, fs.readFile 和 fs.writeFile 将允许您将文件作为大字符串读入,然后将字符串写入磁盘。许多用户的性能会很差,但对于单个用户,只需将其放入“~/.chatbot-lastfm”之类的内容中

标签: javascript node.js


【解决方案1】:

如果你坚持:)

当一个人想要存储一些数据以供以后读取/操作时,他应该在大多数情况下使用数据库。有些情况下文件更可取,但这不是其中之一。

无模式数据库(如 MongoDB)非常适合这里,因为它允许更快的原型设计和开发(与具有固定模式的关系数据库相反)。

【讨论】:

猜你喜欢
  • 2012-03-22
  • 2012-01-12
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 2020-08-14
  • 2020-11-20
  • 2015-04-30
相关资源
最近更新 更多