gpt4 book ai didi

mongodb - SORT在聚合功能中不起作用

转载 作者:行者123 更新时间:2023-12-01 21:13:56 24 4
gpt4 key购买 nike

我有这个代码到Golang的Mongo

    cond := make([]bson.M, 0)
cond = append(condiciones, bson.M{"$match": bson.M{"userId": ID}})
cond = append(condiciones, bson.M{
"$lookup": bson.M{
"from": "invoices",
"localField": "userId",
"foreignField": "userId",
"as": "sales",
}})
cond = append(condiciones, bson.M{"$unwind": "$sales"})
cond = append(condiciones, bson.M{"$skip": skip})
cond = append(condiciones, bson.M{"$limit": 100})
cond = append(condiciones, bson.M{"$sort": bson.M{"dateInvoice": -1}})

cursor, err := collect.Aggregate(context.TODO(), cond)


我正在使用Golang和MongoDB
"go.mongodb.org/mongo-driver/bson"

这在联合,限制和跳过文档中都可以正常工作,但是$ sort不起作用。

我很绝望..请

我的代码有什么问题?

问候

最佳答案

您必须先将$sort移到$skip$limit操作之前,否则不能保证重复查询时文档以相同顺序列出(可以选择使用不同的分页参数),这可能会导致“随机”结果。最后的$sort仅保证对受限的最多100个文档进行排序。

首先进行排序,以便您获得一致的行为(假设没有带有相同dateInvoice时间戳的发票)。

关于mongodb - SORT在聚合功能中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61312342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com