我正处于学习MEAN堆栈的开始阶段。
我使用mongoose和mongodb创建了我的第一个Node应用程序。
在我的node.js代码中,我有以下内容:
mongoose.connect('mongodb://localhost/meantest1');
我可以创建文档并找到它们,但是,我不完全确定它存储数据的位置?
app.get('/api/test', function (req, res) {
test.create({
name: "Joe Schmo"
}, function() {
test.find(function (err, tests) {
res.json(tests);
})
});
})
在mongo shell中,如果我执行
use meantest1
db.test.find()
它返回我在shell中输入的数据,但我的应用程序没有任何内容。
有人能解释一下这里发生了什么吗?
另外,有没有更好的应用程序来查询mongo而不是shell?
答案 0 :(得分:1)
注册模型时,Mongoose会自动复数集合名称。在您的情况下,Test
的模型名称将转换为集合名称tests
。
如果要防止复数化,或者需要将模型附加到未复数的现有集合,则可以将集合名称作为第三个参数传递给mongoose.model
方法:
mongoose.model('Test', testSchema, 'test');