Express mongoose不带ref填充ObjectId的通用数组
我用的是猫鼬4.6.6,快车4.13,护照0.3 我有下一个猫鼬模式Express mongoose不带ref填充ObjectId的通用数组,express,mongoose,mongoose-schema,mongoose-populate,Express,Mongoose,Mongoose Schema,Mongoose Populate,我用的是猫鼬4.6.6,快车4.13,护照0.3 我有下一个猫鼬模式 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 ob
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);
当我搜索一个用户并尝试填充rol_列表数组时,它总是空的。
我在mongo中查看过,用户都很满,但mongoose返回的是空的
passport.deserializeUser(function(id, done) {
User.findById(id)
.populate('rol_list')
.exec(function(err, user) {
console.log(user);
done(err, user);
});
});
console.loguser始终将数组rol_列表显示为空
如果我为ObjectId指定了一个引用,则如下所示:
rol_list: [{ type: Schema.Types.ObjectId, ref: 'Rol1' }]
than正确填充,逻辑上仅使用元素Rol1
有什么想法吗?中有一个选项。填充。。。mongoose函数,允许您指定ObjectId后面的模型
@范例
如果只需要对象ID的数组,则不要使用填充 比如:
rol_列表后面的模式名称是什么?不,不,后面没有模式。我想要一个通用的对象数组。
Conversation.find().populate('creator', null, 'User2').exec(callback);
passport.deserializeUser(function(id, done) {
User.findById(id)
.exec(function(err, user) {
console.log(user);
done(err, user);
});
});