用户输入未保存到MongoLab集合

时间:2011-11-26 01:55:49

标签: mongodb node.js heroku express mlab

这一切都是在Heroku上运行的,而我正在尝试做的是获取用户在注册时输入的名称和密码,并将其保存到MongoLab集合“用户”。

我有Node.js,Express和Mongodb

我的数据库打开并配置了什么不对mongolab主机和端口。

var db = new mongo.Db('dbname', new mongo.Server('host', port, {auto_reconnect: true}));

var mongo_config = {
    host: 
    port: 
    dbname: 
    username:
    password:
};

db.open(function(err, clien) {
    //help 1
});  

和我的代码获取他们注册时的快速输入

app.post('/', function(req, res) {
        //help 2
    console.log(req.body.password);
    console.log(req.body.name);
    res.redirect('/signin');
});  

帮助1:我在那里做什么?

帮助2:我在那里放了一个类似collection.insert的mongodb代码吗?如果是这样,我如何建立从Web应用程序到数据库的连接?

1 个答案:

答案 0 :(得分:3)

对于“help 1”,这是您在数据库成功打开时要执行的代码。例如,您可能希望使用db.collection(collectionname, callback)打开集合并将它们分配给变量。您可能还想在此处放置一些控制第一次启动实际服务器的代码,因为除非数据库连接已成功打开,否则您不想运行Web服务器。您还应该检查所有mongo命令的err

对于“帮助2”,您应该参考此处的节点驱动程序文档:https://github.com/christkv/node-mongodb-native/tree/master/docs

您可以通过节点驱动程序查找/更新/插入调用到mongodb。在大多数情况下,它们与JS shell上的mongo命令非常相似,但显然它们采用了回调参数。