MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Verwenden von UUIDs in Mungo für ObjectID-Referenzen

Sie können immer noch populate() verwenden mit _id Werte von Typen außer ObjectID, aber Sie müssen denselben Typ in der Referenzdefinition verwenden.

Also Ihr trackPassSchema müsste geändert werden in:

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

Wie Adam in den Kommentaren anmerkt, könnten Sie Ihren default vereinfachen Wert auf:

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