sql >> Database >  >> NoSQL >> MongoDB

MongoDB optionele unieke index

Als u MongoDB 3.2 gebruikt, kunt u unieke gedeeltelijke index . gebruiken in plaats van een schaarse index.

Gedeeltelijke index wordt eigenlijk aanbevolen boven schaarse index

Voorbeeld

db.users.createIndex({ "userId": 1, "project": 1 }, 
{ unique: true, partialFilterExpression:{ 
  userId: { $exists: true, $gt : { $type : 10 } } } })

db.users.createIndex({ "anonymousId": 1, "project": 1 }, 
{ unique: true, partialFilterExpression:{ 
  anonymouseId: { $exists: true, $gt : { $type : 10 } } } })

In het bovenstaande voorbeeld wordt de unieke index alleen gemaakt als userId is aanwezig en bevat geen null-waarde. Hetzelfde geldt voor anonymousId ook.

Zie https://docs.mongodb.org/ manual/core/index-unique/#unique-partial-indexes



  1. MongoDB - upsert met lijsten

  2. Door de gebruiker gedefinieerde functies van Mongo en kaartreductie

  3. mongodb meerdere aggregaties in één bewerking

  4. Hoe de maximale en minimale waarde in MongoDB te krijgen op basis van een specifieke sleutel?