gpt4 book ai didi

mongodb - MongoDB 中基于游标的分页,对 2 个属性进行排序

转载 作者:行者123 更新时间:2023-12-03 22:30:14 25 4
gpt4 key购买 nike

我的最终目标是在 MongoDB 中实现基于游标的分页,同时对 2 个属性进行排序。

假设我们有以下集合:

+--------------------------------------+------+-------+
| _id | cost | vip |
+--------------------------------------+------+-------+
| ObjectId("5dae005e665fc34b03c70f8a") | 700 | true | <-- first query
| ObjectId("5dae005e665fc34b03c70f8c") | 50 | true | <-- first query
| ObjectId("5dae005e665fc34b03c70f88") | 1 | true | <-- second query
| ObjectId("5dae005e665fc34b03c70f8b") | 1200 | false | <-- second query
| ObjectId("5dae005e665fc34b03c70f87") | 400 | false |
| ObjectId("5dae005e665fc34b03c70f89") | 300 | false |
+--------------------------------------+------+-------+

我们希望结果排序: {vip: -1, cost: -1} ,限制为 2。第一个查询将返回第 1 行和第 2 行,结束光标为 (ObjectId("5dae005e665fc34b03c70f8c"))。

有了这些信息,我如何获取接下来的 2 行(即第 3 + 4 行)?

我尝试过以下过滤器,但没有帮助。
{_id: {$lt: ObjectId('5dae005e665fc34b03c70f8c')}, cost: {$gt: 1}}

谢谢你的帮助。

最佳答案

您可以使用 skip方法

db.getCollection('collection').find({}).sort({vip: -1, cost: -1}).skip(2).limit(2)

关于mongodb - MongoDB 中基于游标的分页,对 2 个属性进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58492896/

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