This repository was archived by the owner on Nov 10, 2025. It is now read-only.

Description
So I wrote this test and its failing.
var InnerSchema = new mongoose.Schema({
field: String
});
var Inner = mongoose.model('Inner', InnerSchema);
var MiddleSchema = new mongoose.Schema({
inners: {
type: [mongoose.Schema.Types.ObjectId],
ref: 'Inner',
autopopulate: { select: 'field' }
}
});
MiddleSchema.plugin(plugin);
var Middle = mongoose.model('Middle', MiddleSchema);
var OuterSchema = new mongoose.Schema({
middle: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Middle',
autopopulate: { select: 'inners' }
}
});
OuterSchema.plugin(plugin);
var Outer = mongoose.model('Outer', OuterSchema);
new Inner({
field: 'hello'
}).save(function (err, inner1) {
new Inner({
field: 'goodbye'
}).save(function (err, inner2) {
new Middle({
inners: [inner1._id, inner2._id]
}).save(function (err, middle) {
new Outer({
middle: middle._id
}).save(function (err, outer) {
Outer.findOne({}, function (err, outer) {
assert.equal(outer.middle.inners.length, 2);
outer.remove(function () {
middle.remove(done);
});
})
})
})
})
})