Node.js 子架构不工作mongoose
我试图访问我所在城市模式中的子模式,但我似乎在控制器中编写的代码不正确。我得到的错误是未定义Bar: 控制器:Node.js 子架构不工作mongoose,node.js,mongodb,Node.js,Mongodb,我试图访问我所在城市模式中的子模式,但我似乎在控制器中编写的代码不正确。我得到的错误是未定义Bar: 控制器: exports.updateBar = function(req,res) { City.findById(req.params.id, function(err, city) { if (err) { return handleError(res, err); } if(!city) { return res.send(404); } Bar.findB
exports.updateBar = function(req,res) {
City.findById(req.params.id, function(err, city) {
if (err) { return handleError(res, err); }
if(!city) { return res.send(404); }
Bar.findById(req.params.barId, function(err, bar) {
var updated = _merge(bar, req.body);
updated.save(function (err) {
if (err) { return handleError(res, err); }
return res.json(200, bar);
});
})
});
};
型号:
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var barSchema = new Schema({
_id: String,
going: Number,
location: String
});
var CitySchema = new Schema({
_id: String,
bars: [barSchema]
});
module.exports = mongoose.model('Bar', barSchema);
module.exports = mongoose.model('City', CitySchema);
首先导出条形图模型,然后再次导出城市。所以只有城市是出口的。将这两行替换为:
...
exports.Bar = mongoose.model('Bar', barSchema);
exports.City = mongoose.model('City', CitySchema);
然后要求他们这样做:
var models = require('models'),
City = models.City,
Bar = models.Bar