mongoosejs找到具体的记录

时间:2014-04-25 19:42:49

标签: node.js mongoose

我想在猫鼬中找到一个特定的记录。我正在尝试创建一个登录/注册表单,并且我是node.js的一种新东西。

现在我有了这段代码:

app.post('/register', function(request, response)
{
    console.log('REGISTER OK');

    //set connection to mongodb.
    mongoose.connect('mongodb://localhost');

    var db = mongoose.connection;

    //Connect to mongodb.
    db.on('error', console.error.bind(console, 'connection error:'));
    db.once('open', function callback()
    {
        console.log('connection succeed.');

        //Create User schema.
        var userSchema = mongoose.Schema(
        {
            username: String,
            password: String
        });

        //User model.
        var UserModel = mongoose.model('User', userSchema);

        var user = new UserModel(
        {
            username: request.body.username,
            password: request.body.password
        });

        user.save(function(error, data)
        {
            if(error)
                console.log(error);

            else
            {
                response.render('register',
                {
                    'Title': Title,
                    'result': data
                });

                UserModel.find(function(error, data)
                {
                    if(error)
                        console.log(error);

                    else
                        console.log(data);
                });
            }
        });
    });
});

我没有完全得到mongoose的find方法,我只需要找到用户名以便做一些功能,是否有一个函数moongose必须避免记录,如果它已经存在?

1 个答案:

答案 0 :(得分:0)

UserModel.findOne ({ name: "someName" }, function (err, user) {
  if (err) console.log (err);
  if (!user) console.log ('user not found');
  // do something with user
});