首页 > 解决方案 > 管道MongoDB中的多个匹配操作

问题描述

我正在使用更改流,我需要观察集合中的更新以向用户发送通知。我需要检索剩余时间等于 1、5 或 10 的所有文档。到目前为止我所做的:->(此管道完成了它的工作。)

pipeline := bson.D{
    {
        "$match", bson.D{
            {"operationType", "update"},
            {"updateDescription.updatedFields.timeleft", bson.D{
                {"$eq", 1},
            }},
        },
    },
}

我的问题是我需要为 10 添加“$eq”、5 和相同的值,以便在一次查找中检索所有文档。这真的可能吗?谢谢 :)

感谢D. SM 解决了

这是正确的做法:

pipeline := bson.D{
        {
            "$match", bson.D{
                {"operationType", "update"},
                {"updateDescription.updatedFields.timeleft", bson.D{
                    {"$in", bson.A{1, 5, 10}},
                }},
            },
        },
    }

标签: mongodbgoasynchronouseventspipeline

解决方案


推荐阅读