Mangosta conecta dos colecciones

Tengo una colección de productos y otra sobre la reposición del stock del producto. Lo que estoy buscando es que cuando obtenga los productos, aparezcan todas las fechas de reposición y el nuevo stock, algo así:

{
  "ok": true,
  "producto": {
    "repo": [
    {
            "_id": "5ac643ab88b5a132384f7758",
            "restock": 22,
            "date": "2018-03-04T03:00:00.000Z",
            "producto": "5ac6433588b5a132384f7757",
            "__v": 0
        },
        {
            "_id": "5ac6470079b67f39985ffe3c",
            "restock": 44,
            "date": "2018-04-04T03:00:00.000Z",
            "producto": "5ac6433588b5a132384f7757",
            "__v": 0
        }
    ],
    "_id": "5ac6433588b5a132384f7757",
    "nombre": "Vianda Vegetariana",
    "usuario": "5ac546f293e2b932a47b5f43",
    "createdAt": "2018-04-05T15:39:33.911Z",
    "updatedAt": "2018-04-05T15:39:33.911Z",
    "__v": 0
    }
}

Pero solo entiendo esto:

{
    "ok": true,
    "producto": {
        "repo": [],
        "_id": "5ac6433588b5a132384f7757",
        "nombre": "Vianda Vegetariana",
        "usuario": "5ac546f293e2b932a47b5f43",
        "createdAt": "2018-04-05T15:39:33.911Z",
        "updatedAt": "2018-04-05T15:39:33.911Z",
        "__v": 0
    }
}

Este es mi código real:

// repo schema

var repositorSchema = new Schema({
    restock: { type: Number, required: [true, 'El restock es necesario']},
    date: { type: Date, required: true },

    producto: { type: Schema.Types.ObjectId, ref: 'Producto'},
    usuario: { type: Schema.Types.ObjectId, ref: 'Usuario', required: true }
}, { timestamps: true } );

module.exports = mongoose.model('Repositor', repositorSchema);

//product schema

var productoSchema = new Schema({
    nombre: { type: String, required: [true, 'El nombre es necesario']},
    sku: { type: String, required: false },
    repo: [{ type: Schema.Types.ObjectId, ref: 'Repositor', required: true }],
    usuario: { type: Schema.Types.ObjectId, ref: 'Usuario', required: true }
}, { timestamps: true } );

module.exports = mongoose.model('Producto', productoSchema);

Mi código para poblar:

Producto.find({})
    .populate('repo')
    .exec(
        (err, productos)=> {
            if (err) {
                return res.status(500).json({
                    ok: false,
                    mensaje: 'Error cargando productos',
                    errors: err
                });
            }

            Producto.count({}, (err, conteo)=> {
                res.status(200).json({
                    ok: true,
                    total: conteo,
                    productos: productos
                });
            });
});

¿Por qué no funciona? ¿Cómo deben poblar los dos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta