【问题标题】:Get data between stages in an aggregation Pipeline在聚合管道中的阶段之间获取数据
【发布时间】:2021-05-13 05:26:38
【问题描述】:

是否可以在 mongo 聚合管道的各个阶段之间检索文档?

想象一下,我有一个在 pymongo 中运行的聚合管道,有 10 个阶段,我希望能够检索第 8 阶段之后可用的一些信息,而这些信息在最后一个阶段将不可用。有可能吗?

这个想法与这个question 非常相似,看看我发现这个$facet 的答案,但我不清楚所有outputFields 中的stage1 是否相同,那么它将是只执行一次并按预期执行。而且,正如我在文档中看到的,$facet 不支持索引,这对我来说是个问题。

【问题讨论】:

    标签: mongodb pymongo


    【解决方案1】:

    要检索在后续阶段更改的特定字段的值,请使用 $set 将这些值复制到新字段中。

    要在第 8 阶段之后完全检索结果集,请将前 8 个阶段作为它们自己的管道发送。

    【讨论】:

    • "send the first 8 stages as their own pipeline." 但是这 8 个阶段会运行两次,对吧?这似乎不是很实用,有没有替代方案?
    • 执行应用程序中剩余阶段的计算。
    猜你喜欢
    • 2019-06-03
    • 1970-01-01
    • 2020-10-16
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 2019-09-01
    • 2021-11-30
    相关资源
    最近更新 更多