【发布时间】:2016-03-26 03:53:33
【问题描述】:
我在 mongolab 中创建了 db 'Users' 和一个集合名称 'login' 并且从我的本地机器 nodejs 代码中搜索名称。我能够连接到 db 但无法获取任何详细信息,我是在 res.json(doc) 中获取 NULL。 我是 mongoose 和 node.js 的新手,如果有人指导我如何做到这一点,我将不胜感激
这是 server.js 的代码
var express = require('express');
var app = express(); // create our app w/
var mongoose = require('mongoose'); // mongoose for mongodb
var port = process.env.PORT || 3000; // set the port
var database = require('./config/database');
var routes = require('./routes/routes');
var morgan = require('morgan');
var bodyParser = require('body-parser');
var http = require('http');
var methodOverride = require('method-override');
var routes= require('./routes/routes');
mongoose.connect(database.url, function(err) {
if(err) {
console.log('connection error', err);
} else {
console.log('connection successful');
}
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/login',routes);//for submit button
app.listen(port);
console.log("App listening on port " + port);
这里是 login.js 的代码
var mongoose = require('mongoose');
var LoginSchema = new mongoose.Schema({
name: String,
email:String,
number: Number
});
module.exports = mongoose.model('login', LoginSchema);
这是 routes.js 的代码
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var login = require('../model/login.js');
router.post('/login', function(req, res, next) {
console.log("i am going to login");
console.log(req.body);
var s = req.body.name;
login.find({'name':s},function(err,doc){
console.log(doc);
res.json(doc);
});
});
module.exports = router;
在 Mongolab 中,我的集合“登录”仅包含 1 个数据
{ "_id": "56e26f73592f88fc1a989b6f", “名称”:“p”, “电子邮件”:“一个”, “数字”:“0” }
【问题讨论】:
标签: javascript node.js mongodb mongoose mlab