2016-11-09 23 views
0

Ich benutze Mungo 4.6.6, Express 4.13, Pass 0.3.Mungo füllen generische Array von ObjectId ohne Ref

Ich habe das nächste Mungo Schema

var userSchema = new Schema({ 
    nombre: String, 
    apellidos: String, 
    email: String, 
    pass: String, 
    fecha_registro : { type: Date, default: Date.now }, 
    rol_list: [Schema.Types.ObjectId], // generic array of objectId 
    deleted: {type: Boolean, default: false} 
}); 

module.exports = mongoose.model('User', userSchema); 

Wenn ich einen Benutzer zu suchen und versuchen, den „rol_list“ Array zu füllen, ist immer leer. Ich habe in Mongo geschaut die Benutzer sind gut gefüllt, aber Mungo wieder leer.

passport.deserializeUser(function(id, done) { 
    User.findById(id) 
    .populate('rol_list') 
    .exec(function(err, user) { 
     console.log(user); 
     done(err, user); 
    }); 
}); 

Die console.log (Benutzer) zeigen immer das Array rol_list leer.

Wenn ich zuweisen einen Verweis auf die ObjectId wie:

rol_list: [{ type: Schema.Types.ObjectId, ref: 'Rol1' }] 

als richtig gefüllt ist, logischerweise nur mit dem Element "ROL1".

Irgendeine Idee?

+0

Wie lautet der Name des Schemas hinter 'rol_list' ist? –

+0

Nein, nein, habe ein Schema hinter sich. Ich möchte ein generisches Array von Objekten. – Raugaral

Antwort

-1

Wenn Sie Array wollen nur Objekt-IDs verwenden Sie dann nicht mit ihm füllen.

mag:

passport.deserializeUser(function(id, done) { 
    User.findById(id) 
    .exec(function(err, user) { 
     console.log(user); 
     done(err, user); 
    }); 
}); 
+0

Das funktioniert nicht, geben Sie die rol_list leer zurück – Raugaral

Verwandte Themen