什么是猫鼬实际上在这里开放?

时间:2015-10-02 20:31:00

标签: mongodb mongoose mean-stack

我正处于学习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?

1 个答案:

答案 0 :(得分:1)

注册模型时,Mongoose会自动复数集合名称。在您的情况下,Test的模型名称将转换为集合名称tests

如果要防止复数化,或者需要将模型附加到未复数的现有集合,则可以将集合名称作为第三个参数传递给mongoose.model方法:

mongoose.model('Test', testSchema, 'test');