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

MongoDB Unique Index på matrixelement på tværs af dokumenter (ikke på tværs af indlejrede dokumenter)

For at gøre dette skal du ændre et par ting.

Først og fremmest skal dit skema være et index sådan her:

number: {
  type: String,
  index: true, // <-- This line
  unique: true
}

Og i din forbindelsesmulighed tilføj useCreateIndex: true . For eksempel har jeg:

const mongooseOpts = {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
    useCreateIndex: true //<-- This line
};

await mongoose.connect(uri, mongooseOpts);

Derefter, når du forsøger at tilføje en duplikatnummer telefon, vil en fejl blive kastet.

Med disse to trin, hvis det heller ikke virkede, kan du prøve at fjerne collection og skabe igen.




  1. Skub værdi til Array, hvis nøglen ikke findes Mongoose

  2. Hvordan kan vi oprette autogenereret felt til mongodb ved hjælp af fjederstøvle

  3. MongoDB geospatialt indeks på en matrix (multikey + geospatial)

  4. MongoDB $log