我的程序中有两个数据库。一个用于保存用户和角色,一个用于其余部分。
1)我的模型用户有对角色的引用。所以我可以通过执行以下操作来填充角色:
User.find({}).populate('local.roles').sort({ email: 1 }).exec(function (err, users) { ...
这很完美,我可以得到一个用户和他的角色。
2) 当我尝试做同样的事情,但模型连接到另一个数据库时,我得到了臭名昭著的错误:
“MissingSchemaError:尚未为模型注册架构......”
这是我在模型使用不同连接时对模型进行编码的方式:
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”文件中;为了导入我的模型,我做了我的“要求”等;等等
正如我之前所说,我可以在模型使用“默认”猫鼬连接时进行填充。
我应该如何纠正这个问题的任何想法将不胜感激......我在这里遗漏了一些明显的东西吗?
谢谢和再见...