sql >> Base de Datos >  >> NoSQL >> MongoDB

Uso de UUID en mongoose para referencias de ObjectID

Todavía puedes usar populate() con _id valores de tipos además de ObjectID, pero necesita usar el mismo tipo en la definición de referencia.

Así que tu trackPassSchema tendría que cambiar a:

var trackPassSchema = new Schema({
    _id: { type: String, default: function genUUID() {
        return uuid.v1()
    }},
    vehicle: [
        {type: String, required: true, ref: 'Vehicle'}
    ]
});

Como señala Adam en los comentarios, podría simplificar su default valor para:

var trackPassSchema = new Schema({
    _id: { type: String, default: uuid.v1 },
    vehicle: [
        {type: String, required: true, ref: 'Vehicle'}
    ]
});