从Node.js读取用户输入并将其保存在MongoDB中

时间:2011-11-24 03:15:26

标签: javascript mongodb node.js heroku

我目前在heroku环境中有node.js,express和mongodb。

我想知道的是如何获得用户的输入(例如:他们注册了一个帐户并且他们输入了他们的用户名和密码)并将其保存在mongodb中,然后稍后获取该信息(例如:他们正在登录。

我是否从.js脚本连接到mongodb或它是如何工作的?

2 个答案:

答案 0 :(得分:0)

您是否尝试将Node.js用作处理数据的后端服务器? node.js会渲染HTML页面吗?

假设您只想使用Node.js插入或查找数据,请查看Express

或者,您可以使用url库来处理传入的请求,然后使用node-mongodb-native等库提供的方法将它们传递给Mongo。

node-mongodb-native驱动程序为您提供了MongoDB的所有核心功能,但是根据应用程序的复杂性,使用可以进行数据建模的框架或mongodb库可能更有意义。

看看这个Node modules list,看看所有选项是什么。

对于体系结构,一个示例是将用户凭据POST到Node.js,Node.js解析它们并连接到MongoDB以提取用户的帐户信息。 MongoDB向Node.js返回它找到的数据,Node服务器以JSON格式输出用户帐户信息。我不确定这是不是你要问的,但这是一个简单的方法,一旦你熟悉回调流和其他美味的意大利面,就很容易建立;)


这是我用来连接Mongo并启动Node.js服务器的Node.js应用程序的一个小CoffeeScript片段:

db = new mongo.Db('tracker', new mongo.Server('127.0.0.1', 27017, {auto_reconnect: true}))

# Open the connections:
db.open (db_error, database) ->

  console.error "Unable to open connection to database 'tracker': #{db_error}" if db_error

  # Launch server on port 8080:
  http.createServer(onRequest).listen 8080, '127.0.0.1'

  # Close the connection if the server is stopped:
  db.close()

答案 1 :(得分:0)

您可以查看Mongoosemongoskin。它们将通过减少回调量和解开代码来使您的生活更轻松。

使用mongoskin的一个简单示例:

var mongo = require('mongoskin');
var db = mongo.db('localhost:27017/test?auto_reconnect');

app.get('/signup', function() {
  // use the db here
});