title: Products with different variants schema
body: <p>I am trying to create an e-commerce website using MongoDB. I have created a Product and variant model, my question is how can I search the product with variant, for example for "Size" user can add variant value as "S" or "Small". How can I search the product which has for example small product in this case as a product have many variants, how can I list eg. all products with small size. Here is my variant model.</p>
  
  <pre><code>var variantSchema = Schema({
  name: {
      type: String,
      required: true,
      unique: true
  },
  count: {type: Number, default : 0}
  });
  </code></pre>
  
  <p>And my Product Schema is:</p>
  
  <pre><code>var productSchema = Schema({
  sku: {
      type: String,
      lowercase: true
  }, //, required: true, unique: true
  name: {
      type: String,
      lowercase: true,
      max: 65,
      required: true
  },
  slug: {
      type: String,
      lowercase: true,
      unique: true,
      index: true,
      slug: "name",
      slug_padding_size: 3
  },
  status: Boolean,
  listPrice: Number,
  description: {
      short: {
          type: String,
          trim: true,
          lowercase: true
      },
      long: {
          type: String,
          trim: true,
          lowercase: true
      }
  },
  images: [],
  categoryId: {
      type: Schema.Types.ObjectId,
      ref: 'Category'
  },
  userId: {
      type: Schema.Types.ObjectId,
      ref: 'User',
      required: true
  },
  createdAt: {
      type: Date,
      default: Date.now
  },
  updatedAt: {
      type: Date,
      default: Date.now
  },
  isActive: Boolean,
  vars: [
      {
          varId : {
              type: Schema.Types.ObjectId,
              ref: 'Variants'
          },
          values: [
              {
                  value : String,
                  image:[]
              }
          ]
      }
  ]
  });
  </code></pre>