2015-03-17 5 views
1

У меня есть две базы данных в моей программе. Один для сохранения пользователей и ролей, а другой для остальных.mongoose заполнить другую базу данных

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 'file; и я выполняю свои «требования» и т. д., чтобы импортировать мои модели; и т. д.

Как я уже говорил, я могу заполнить, когда модели используют соединение по умолчанию «по умолчанию».

Любые идеи, как я должен исправить это, будут оценены ... Я пропустил здесь кое-что очевидное?

Спасибо и до свидания ...

ответ

0

Я имел ту же ошибку. Вы можете использовать:

var query = Riesgo.find({ cia: filtroObject.ciaSeleccionada }); query.populate('asegurado','fields to retrieve',User);// **User need to be defined in the file as an variable that contents the User model defined.** query.sort("codigo"); query.select("codigo fechaInicio estado moneda");

см ссылку: enter link description here

 Смежные вопросы

  • Нет связанных вопросов^_^