以下是我的代码,用于从集合中获取数据并在索引页面上显示,但它没有给出结果。
节点代码 -
var app = require('express')();
var mongoose = require('mongoose');
var dbURI = 'mongodb://localhost/test';
mongoose.connect(dbURI);
var testSchema = new mongoose.Schema({
name: String,
rollnum: String
});
var Test = mongoose.model('Test', testSchema);
app.get('/', function(req, res){
Test.find({},function(err, docs){
res.send('index',{docs:docs});
});
//res.send('test');
});
app.listen(3001);
但是我检查并在db中收集了一个这样的集合 -
查询火灾 - db.testinfo.find()
输出 -
{
"_id": ObjectId("123456..78"),
"name": "test",
"rollnum": "XXXX"
}
点击网址后 - http://127.0.0.1:3001/
这是我得到的输出 -
{
"docs": []
}
但是我期待得到名字的结果,rollnum。
请让我知道我做错了什么。
答案 0 :(得分:3)
当您在Mongoose中注册模型时,它会使用复数的,较低的模型名称作为其所绑定的集合的名称。因此,因为您的模型名称为Test
,所以集合名称为tests
。
要将模型与testinfo
联系起来,请将该名称作为第三个参数传递给model
来电:
var Test = mongoose.model('Test', testSchema, 'testinfo');