per il mio progetto, voglio mantenere un documento mangusta per gruppi di organizzazioni, come questo:valori Mongoose unici in array nidificato di oggetti
var groupSchema = Schema({
name : { type : String },
org : { type : Schema.Types.ObjectId, ref : 'Organization' },
...
users : [{
uid : { type : Schema.Types.ObjectId, ref : 'User' },
...
}]
});
voglio evitare che lo stesso utente di essere nello stesso gruppo due volte. Per fare questo, ho bisogno di forzare users.uid ad essere unico nell'array degli utenti. Ho provato a indicare "unique: true" per uid, ma non ha funzionato. C'è un modo per farlo con mangusta o mongoDB senza ulteriori query o la divisione dello schema?
Edit: ho cambiato il valore precedente di uid a uid: {type: Schema.Types.ObjectId, ref: 'utente', indice: {unico: vero, dropDups: true}} Ma questo ancora doesn sembra funzionare.
Edit: Supponendo non v'è alcun modo semplice per raggiungere questo obiettivo, ho aggiunto una query in più controllare se l'utente è già nel gruppo. Questo mi sembra il modo più semplice.
controllare questo sarà [utile] (http://stackoverflow.com/questions/12395118/mongodb-setting-unique-field) – karthick
Grazie per il collegamento. Ho provato quanto segue: uid: {type: Schema.Types.ObjectId, ref: 'utente', indice: {unici: true, dropDups: true}} al posto del vecchio valore uid. Questo ancora non funziona, ho anche provato a riavviare mongoDB senza successo. –