title: Mongoose how filtered db after populate in object
body: <p>I need help. I'm having the trouble, I need to filter my DB after populate(). But it works incorrect(</p>
  <p>Example:</p>
  <p>Item model:</p>
  <pre><code>const itemSchema = mongoose.Schema({
      description: {
          type: mongoose.Schema.Types.ObjectId,
          required: true,
          ref: 'Translations'
      },
      price: {
          type: Number,
          required: true
      },
      currency: {
          type: String,
          default: '₴'
      },
      type: {
          type: String,
          required: true
      }
  });
  </code></pre>
  <p>Translations model:</p>
  <pre><code>const translationsSchema = mongoose.Schema({
      ru: {
          type: String,
          required: true,
          trim: true
      },
      en: {
          type: String,
          required: true,
          trim: true
      }
  });
  </code></pre>
  <p>Filtration:</p>
  <pre><code>const items = await Item.find()
              .populate({
                  path: 'description',
                  select: 'en'
              })
              .find({$or: [
                      {'description.en': 'search text'},
                      {'price': 100}
                  ]})
              .exec();
  </code></pre>
  <p>Return empty array: <code>[]</code></p>
  <p>But expected behaviour should return an array with items which contain 'search text' in 'en' field or items which price = 100</p>