Mongodb 返回及;根据查找结果对用户进行排序
我有一个用于Mongodb 返回及;根据查找结果对用户进行排序,mongodb,Mongodb,我有一个用于用户的mongoDb集合和一个用于消息的集合。我的目标是返回 担任患者的角色 有消息(过滤掉所有没有消息的用户) 通过最新消息对结果进行排序(即具有最新消息的用户应位于结果顶部) 我对聚合相当陌生,但尝试使用聚合来解决这个问题。到目前为止,我的查询通过查找返回有消息的用户,但是它不会过滤没有消息的用户(2),也不会对结果进行排序(3) 虽然您可以通过聚合管道实现这一点,但更有效的解决方案是将最新消息的时间戳写入用户,此时无需加入即可检索所需的数据。在上述聚合步骤和预期结果之后,您能否
用户
的mongoDb集合和一个用于消息
的集合。我的目标是返回
患者的角色
虽然您可以通过聚合管道实现这一点,但更有效的解决方案是将最新消息的时间戳写入用户,此时无需加入即可检索所需的数据。在上述聚合步骤和预期结果之后,您能否发布示例结果?哇,这真是个好主意!我假设我随后能够获取用户一个非空的时间戳并对结果进行排序?对…………这很有效,我将它标记为答案,即使它没有显示聚合。再次感谢您的投入:)
db.users.aggregate([
{$match: {role: "patient"}},
{$lookup:
{
from: "messages",
localField: "phoneNumber",
foreignField: "phoneNumber",
as: "messages"
}
}
])