Mongoose 是否可能对填充的元素执行查询条件?

Mongoose 是否可能对填充的元素执行查询条件?,mongoose,mongoose-populate,Mongoose,Mongoose Populate,我可以在填充的字段上执行where条件吗 我可以做一个find()。其中('p')。等于(q.\u id) 但不是一个find()。填充('p','element')。其中('p.element')。等于(q.element) 或者这种查询的语法是什么 或者在猫鼬身上不可能吗?您应该能够按如下方式进行种群计算: Story .find(...) .populate({ path: 'fans', match: { age: { $gte: 21 }}, select: 'name -

我可以在填充的字段上执行where条件吗

我可以做一个
find()。其中('p')。等于(q.\u id)
但不是一个
find()。填充('p','element')。其中('p.element')。等于(q.element)

或者这种查询的语法是什么


或者在猫鼬身上不可能吗?

您应该能够按如下方式进行种群计算:

Story
.find(...)
.populate({
  path: 'fans',
  match: { age: { $gte: 21 }},
  select: 'name -_id',
  options: { limit: 5 }
})
.exec()
上述示例直接取自本页的mongoose文档:
,搜索标题查询条件和执行完全不同操作的其他选项。这仅限制填充的项目。所以在这个例子中,你得到了所有的故事,但只填充了一些粉丝。我需要的是,我只获取特定风扇在填充文档中的故事。使其工作的唯一方法是当前查找风扇的_id,然后使用此_id作为查询条件而不填充。糟糕的编码工作。如果有一些内置的解决方案就好了……啊,对不起,我完全不理解你想要什么。是的,我认为你得到的解决方案是真正做到这一点的唯一方法:/