sql >> Databasteknik >  >> NoSQL >> MongoDB

Använda UUID i mongoose för ObjectID-referenser

Du kan fortfarande använda populate() med _id värden av typer förutom ObjectID, men du måste använda samma typ i referensdefinitionen.

Så ditt trackPassSchema skulle behöva ändras till:

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

Som Adam noterar i kommentarerna kan du förenkla din default värde till:

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


  1. Mongoose:kan inte komma åt befolkat värde

  2. C# + MongoDB - ObjectId utan att använda MongoDB DataTypes/Attributes

  3. ruby redis klientskanning vs nycklar

  4. En recension av MongoDB Backup Options