MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Utilisation des UUID dans la mangouste pour les références ObjectID

Vous pouvez toujours utiliser populate() avec _id des valeurs de types autres que ObjectID, mais vous devez utiliser le même type dans la définition de référence.

Donc, votre trackPassSchema devrait être remplacé par :

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

Comme Adam le note dans les commentaires, vous pourriez simplifier votre default valeur à :

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