编辑:我的错误实际上从未在$http.get
上使用/spells
来电,因此router.get
从未发生过。
在我的app.js
中,我有一行......
var mongoose = require('mongoose');
mongoose.connect('...');
require('./models/spells');
var routes = require('./routes/index');
spells.js
定义了SpellSchema
...
var mongoose = require('mongoose');
var SpellSchema = new mongoose.Schema({
name: String,
level: String,
school: String,
ritual: String,
classes: [String],
castingTime: String,
range: String,
components: [String],
duration: String,
description: [String],
page: String
}, {});
mongoose.model('spell', SpellSchema);
然后在index.js
我做...
var mongoose = require('mongoose');
var test = mongoose.model('spell');
router.get('/spells', function(req, res, next) {
test.find({}, function(err, data) {
console.log(err, data, data.length);
if (err) { return next(err); }
res.json(data);
});
});
但是console.log
没有打印出来。如果在spells.js
结束时我有......
var test = mongoose.model('spell', SpellSchema);
test.find({}, function(err, data) {
console.log(err, data, data.length);
}
...所有拼写文件都会打印到控制台。
为什么会发生这种情况,我有点困惑?据我所知,它应该打印法术。
答案 0 :(得分:0)
试试这个
data = JSON.stringify(data);
data = JSON.parse(data);
res.json(data);
答案 1 :(得分:0)
你试试这个吗?
var SpellModel = require('./shell');
SpellModel.find({}, console.log);
我认为你不应该调用mongoose.model,因为mongo db连接可能还没有。