我的教程以下找回空数组。从MongoDB的使用curl虽然数据库充满了数据
我创建了一个数据库,并使用mongoimport进口JSON到它:mongoimport --db cmt2 --collection Course --type json --file myFile.json --jsonArray
我一直在使用宣布我的数据库:mongoose.connect('mongodb://localhost/cmt2');
当我蜷缩在我的服务器与NPM开始启动它后:curl http://localhost:3000/courses
我只得到的回报空数组([])。
但我确定我已经将数据导入到数据库中,因为当我到mongo shell并打开cmt2数据库并使用db.Course.find()
时,我找回所有数据。
我的课程获取途径也可能是正确的,因为它的工作原理,当我定义另一个分贝我用来测试之前,我用CMT2:mongoose.connect('mongodb://localhost/cmt');
这大概收集了一些愚蠢的,我不明白,因为我他们的名字随机,我不知道在哪里其实我声明我想在我的代码使用哪个集合。
供参考,在这里是我用我的GET请求的代码:
router.get('/courses', function(req, res, next) {
Course.find(function(err, courses){
if(err){ return next(err); }
res.json(courses);
});
});
而且我在数据库导入的JSON数据的一个例子:
{
"code": "ABCD ",
"name": "ABCDE",
"list": [
{
"code": "ABCDEF ",
"name": "ABCDEFG"
},
{
"code": "BCDEF ",
"name": "BCDEFG"
}]
}
编辑:
cmt(我可以卷曲的数据库)和cmt2(我不能卷曲的那个)之间的主要区别是我使用了带有cmt的嵌入模型,并且没有使用cmt2
让你的卷曲:'mongodb:// localhost:27017/cmt' 并给出一个空文档作为你的'find'方法的第一个参数。看看是否适合你。 –