MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Използване на UUID в mongoose за препратки към ObjectID

Все още можете да използвате populate() с _id стойности на типове освен ObjectID, но трябва да използвате същия тип в референтната дефиниция.

Така че вашата trackPassSchema трябва да се промени на:

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

Както Адам отбелязва в коментарите, можете да опростите своя default стойност за:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Got Access е отказан, когато се опитах да инсталирам 64-bit mongodb в Windows server 2008

  2. MongoDB:каква е разликата между $elemMatch и $and за намиране на обекти в масив?

  3. [Грешка:неуспешно свързване към [localhost:27017]] от NodeJS към mongodb

  4. (mongoose/promises) Как да проверите дали документът е създаден с помощта на findOneAndUpdate с upsert

  5. Актуализирайте документа, като използвате резултата от свързаните полета