Пользовательский ввод не сохраняется в коллекцию MongoLab - PullRequest
0 голосов
/ 26 ноября 2011

Все это выполняется на 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: я помещаю туда код mongodb, например collection.insert? Если да, как мне установить соединение между веб-приложением и базой данных?

1 Ответ

3 голосов
/ 28 ноября 2011

Для «справки 1» это код, который вы хотите выполнить при успешном открытии базы данных.Например, вы можете открыть коллекции с db.collection(collectionname, callback) и назначить их переменным.Возможно, вы также захотите разместить здесь некоторый код, который контролирует первый запуск фактического сервера, поскольку вы не хотите запускать веб-сервер, если соединение с базой данных не было успешно установлено.Вы также должны проверить err для всех ваших команд mongo.

Для получения «справки 2» вы должны обратиться к документации драйвера узла здесь: https://github.com/christkv/node-mongodb-native/tree/master/docs

Вы можете найти / обновить/ Вставить вызовы через драйвер узла для mongodb.По большей части они очень похожи на команды mongo в оболочке JS, за исключением того, что они принимают аргумент обратного вызова, очевидно.

...