同一台服务器上的两个不同数据库中有两个集合。我想知道是否可以使用PipelineDefinition阶段进行汇总查询,在该阶段中可以在第二个数据库中执行$ lookup?
我看到有db.getSiblingDb(),但我不知道如何在管道中使用它。
示例:
Database 1 -> TimeTracking
{
"_id" : LUUID("ebb81c9e-8df4-c448-8611-5a74b301af4c"),
"UserId" : NumberLong(1),
"DateTime" : ISODate("2018-07-24T00:00:00.000Z"),
"Seconds" : 30
}
Database 2 -> Users
{
"_id" : NumberLong(1),
"userName" : "string",
"firstName" : "string",
"lasttName" : "string",
(...)
}
我的目标是返回这样的结构:
UserTotalTime
{
"userName" : "string",
"firstName" : "string",
"lasttName" : "string",
"Seconds" : 30
}
最终,我想对这些数据进行规范化,但是首先,我需要实现一个事件总线,以使整个数据库中的数据保持最新状态。