MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Utilizzo di UUID in mangusta per i riferimenti ObjectID

Puoi ancora usare populate() con _id valori di tipi oltre a ObjectID, ma è necessario utilizzare lo stesso tipo nella definizione di riferimento.

Quindi il tuo trackPassSchema dovrebbe cambiare in:

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

Come nota Adam nei commenti, potresti semplificare il tuo default valore a:

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