sql >> Database >  >> NoSQL >> MongoDB

MongoDB Unieke Index op array-element in documenten (niet in genest document)

Hiervoor moet je een paar dingen veranderen.

Allereerst moet je schema een index zijn zoals dit:

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

En voeg in uw verbindingsoptie useCreateIndex: true . toe . Ik heb bijvoorbeeld:

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

await mongoose.connect(uri, mongooseOpts);

Wanneer u vervolgens een duplicaat telefoonnummer probeert toe te voegen, wordt er een fout gegenereerd.

Als deze twee stappen ook niet werken, probeer dan de collection . te verwijderen en opnieuw creëren.




  1. spring-data-mongodb geeft mongodb-authenticatie-uitzondering

  2. Hoe kan ik op afstand verbinding maken met mijn MongoDB op mijn server met Java?

  3. Grafiek DB's vs. Document DB's vs. Triplestores

  4. Eenvoudige MySQL-database converteren naar een NoSQL-oplossing