【发布时间】:2014-05-30 18:54:41
【问题描述】:
我有一个使用名为 Todo 的模型的路线设置,如下所示:
app.get('/api/todos', function(req, res) {
Todo.find({},function(err, todos) {
if (err)
res.send(err);
console.log("number of todos " + todos.length);
res.json(todos); // return all todos in JSON format
});
});
但是,todos.length 始终为 0,因为它找不到任何结果。 当我跑步时:
use test3
db.Todo.find()
我确定我已连接到同一个数据库。我可以在 mongod 控制台中看到连接。 我的连接在 config/db.js 文件中:
module.exports = {
url : 'mongodb://localhost/test3'
}
我的server.js中的连接如下:
var db = require('./config/db');
mongoose.connect(db.url);
在 Mongo Shell 中,我得到 1 个结果。我期待这个结果由 find 查询返回。 有什么我错过的吗? 我正在使用猫鼬 3.6
干杯
【问题讨论】:
-
你确定你在你的程序中连接到同一个数据库,就像你使用 shell 做的那样?如果您不确定,请将您的数据库连接代码和与 shell 的连接示例添加到您的问题中。
-
我添加了您要求的更多信息
-
还注意到默认情况下 mongoose 将模型名称复数,并将其转换为小写和其他规则。所以除非你覆盖它,猫鼬正在寻找一个名为“todos”的集合,它可能不存在。
标签: javascript node.js mongodb mongoose