【发布时间】: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