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'}
]
});