MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Usando UUIDs no mangusto para referências de ObjectID


Você ainda pode usar populate() com _id valores de tipos além de ObjectID, mas você precisa usar o mesmo tipo na definição de referência.

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

Como Adam observa nos comentários, você pode simplificar seu default valor para:
var trackPassSchema = new Schema({
    _id: { type: String, default: uuid.v1 },
    vehicle: [
        {type: String, required: true, ref: 'Vehicle'}
    ]
});