我正处于学习MEAN stack的初级阶段。
我已经创建了我的第一个Node应用程序,使用mongoose和mongodb。
在我的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??
当您注册模型时,Mongoose会自动将集合名称复数化。在您的示例中,Test
的模型名称将转换为tests
的集合名称。
如果你想阻止复数,或者你需要将你的模型附加到一个没有复数的现有集合上,你可以将集合名称作为第三个参数传递给mongoose.model
方法:
mongoose.model('Test', testSchema, 'test');