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

Brug af UUID'er i mongoose til ObjectID-referencer

Du kan stadig bruge populate() med _id værdier af typer udover ObjectID, men du skal bruge den samme type i referencedefinitionen.

Så dit trackPassSchema skal ændres til:

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

Som Adam bemærker i kommentarerne, kan du forenkle din default værdi til:

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


  1. MongoDB-tjenesten starter ikke efter den første opsætning

  2. Redis C# - Brug af Incr-værdi i en transaktion

  3. sæt standardværdier til mongoose-arrays i node js

  4. Håndtering af flere databaseteknologier med ClusterControl