title: Mongoose Unique values in nested array of objects
body: <p>For my project, I want to keep a mongoose document for groups of organizations, like this:</p>
  
  <pre><code>var groupSchema = Schema({
    name : { type : String },
    org : { type : Schema.Types.ObjectId, ref : 'Organization' },
    ...
    users : [{
      uid : { type : Schema.Types.ObjectId, ref : 'User' },
      ...
    }]
  });
  </code></pre>
  
  <p>I want to prevent the same user from being in the same group twice. To do this, I need to force users.uid to be unique in the users array. I tried stating 'unique : true' for uid, but that didn't work. Is there a way to do this with mongoose or mongoDB without extra queries or splitting the schema?</p>
  
  <p>Edit:
  I changed the previous value of uid to
      uid : { type : Schema.Types.ObjectId, ref : 'User', index: {unique: true, dropDups: true} }
  But this still doesn't seem to work.</p>
  
  <p>Edit: Assuming there is no simple way to achieve this, I added an extra query checking if the user is already in the group. This seems to me the simplest way.</p>