【发布时间】:2016-04-08 09:23:45
【问题描述】:
这是我的 server.js。
var express = require('express'),
app = express(),
bodyParser = require('body-parser'),
mongoose = require('mongoose'),
CohortController =require('./CohortController');
var MongoURL='mongodb://username:password@ds037395.mongolab.com:37395/abc';
mongoose.connect(MongoURL,function (error) {
if (error)
console.error(error);
else
console.log('mongo connected');
});
app.use(bodyParser());
app.get('/api/cohorts',CohortController.list);
app.post('/api/cohorts',CohortController.create);
app.listen(3000,function(){
console.log('Listening...');
})
还有我的 CohortController.js
var mongoose=require('mongoose');
var Cohort=mongoose.model('Cohorts',new Schema({
id:Number,
name:String
}));
module.exports.create=function(req,res){
var cohort=new Cohort(req.body);
cohort.save(function(err,result){
res.json(result);
});
}
module.exports.list=
function(req,res){
Cohort.find({},function(err,results){
res.json(results);
});
}
当我运行节点服务器并使用 URL 时
localhost:3000/api/cohorts
我得到的是空 JSON,即[],但是当我将它与本地 mongodb 实例连接时,我得到了正确的 JSON。
【问题讨论】:
-
第二个参数应该是模式的实例 var Schema = mongoose.Schema; mongoose.model('Cohorts', new Schema({id:Number, name:String});
-
上述架构你试过了吗
-
是的@Venkatraman 我只这样做了,我编辑了错误....
-
现在可以了吗?
-
不...实际上这不是问题..我认为
标签: javascript node.js mongodb mlab