【发布时间】:2017-09-11 13:32:42
【问题描述】:
我有一个猫鼬查询,我在其中将结果数限制为 3 个条目。我的问题是,每个对象都填充了嵌套对象。这个嵌套对象有一个“活动”标志。我不想返回任何具有“活动”标志为假的嵌套对象的对象,但在限制之后应用了填充过滤器,因此结果可能为空。
是否可以在不使用另一个偏移量再次执行查询的情况下执行此类操作,直到达到限制?
例子:
Activity.find(query)
.skip(offset)
.limit(limit)
.sort({timestamp: -1})
.populate('source')
.exec()
偏移量和限制用于无限滚动功能。
我试过的是这样的:
Activity.find(query)
.skip(offset)
.populate('source').
.where('source.active').equals(true)
.limit(limit)
.sort({timestamp: -1})
.exec()
【问题讨论】:
-
您可以使用 lodash 函数或 JavaScript 函数在获取结果后过滤对象。
-
通过填充嵌套对象,您的意思是在您的情况下使用
populate函数填充引用的对象?提供查询示例将有助于我们更好地理解场景。 -
嗨托拜厄斯;你能edit你的问题来显示你的查询吗?如果我们知道您从什么开始,那么知道如何修改它会更容易。
-
当然。我加了
-
@TobiasStangl 我现在面临同样的情况。你找到解决办法了吗?
标签: javascript node.js mongodb mongoose