Ho una collezione con campi "email" e "friends_email". Vorrei installare un vincolo univoco-ness come il seguente, usando MongoDB:Unico vincolo con due campi in MongoDB
Nessun record avrà lo stesso valore per la posta elettronica e friends_email. Quindi questo sarebbe valida:
{"email": "[email protected]", "friends_email": "[email protected]" }
No 2 record avranno gli stessi valori per tutti i campi. Così i seguenti esempi non sarebbero valide:
{ { "email": "[email protected]", "friends_email": "[email protected]" }, { "email": "[email protected]", "friends_email": "[email protected]" } } { { "email": "[email protected]", "friends_email": null }, { "email": "[email protected]", "friends_email": null } } { { "email": null, "friends_email": "[email protected]" }, { "email": null, "friends_email': "[email protected]" } }
In parole povere, sarebbe qualcosa di simile, la concatenazione di
email
efriends_email
sarà unica, connull
eundefined
essere fuse in vuoto-stringa.
Qual è il modo migliore per applicare questa regola in MongoDB?
Un semplice aggiornamento su questo: db.collection.ensureIndex (chiavi, opzioni) è deprecato dalla versione 3.0.0:> db.collection.ensureIndex() è ora un alias per db.collection.createIndex(). –