【发布时间】:2015-05-20 05:10:02
【问题描述】:
我的程序中有两个数据库。一个用于保存用户和角色,一个用于其余部分。
1) 我的模型用户引用了角色。所以我可以通过以下方式填充角色:
User.find({}).populate('local.roles').sort({ email: 1 }).exec(function (err, users) { ...
这很完美,我可以获得一个用户和他的角色。
2) 当我尝试做同样的事情时,但是与连接到另一个数据库的模型,我得到了臭名昭著的错误:
“MissingSchemaError: schema 没有为模型注册...”
这是我在模型使用不同连接时编码模型的方式:
var mongoose = require('mongoose');
// to define another mongoose connection
var configScrwebDB = require('./../../config/scrwebDatabase.js');
var scrwebDBConnection = mongoose.createConnection(configScrwebDB.url);
var aseguradoSchema = mongoose.Schema({
nombre: { type: String },
abreviatura: { type: String },
rif: { type: String },
direccion: { type: String }
});
module.exports = scrwebDBConnection.model('Asegurado', aseguradoSchema);
3) 这是我在查询中“填充”某些字段(以及因上述错误而失败的字段)所做的:
var query = Riesgo.find({ cia: filtroObject.ciaSeleccionada });
query.populate('asegurado');
query.sort("codigo");
query.select("codigo fechaInicio estado moneda");
query.exec(function (err, riesgos) { ...
当然这是在另一个“js”文件中;为了导入我的模型,我做了我的“要求”等;等等。
正如我之前所说,我可以在模型使用“默认”猫鼬连接时进行填充。
我应该如何纠正这个问题的任何想法将不胜感激......我在这里遗漏了一些明显的东西吗?
谢谢,再见...
【问题讨论】: