Node.js 子架构不工作mongoose

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

我试图访问我所在城市模式中的子模式,但我似乎在控制器中编写的代码不正确。我得到的错误是未定义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.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