MongoDB(PyMongo)分页具有不同的不给出一致的结果

Posted

技术标签:

【中文标题】MongoDB(PyMongo)分页具有不同的不给出一致的结果【英文标题】:MongoDB (PyMongo) Pagination with distinct not giving consistent result 【发布时间】:2021-02-09 12:55:19 【问题描述】:

我正在尝试使用 pymongo 实现不同的分页。

我有记录


  name: string,
  roll: integer,
  address: string,
  .
  .

我只想要每条记录的名称,其中名称可以重复,所以我想要分页的不同名称。

result = collection.aggregate([
    '$sort':"name":1,
    '$group':"_id":"$name",
    '$skip':skip,
    '$limit':limit
])

问题是,对于这个查询,每次我查询相同的页码都会得到不同的结果

查看了这个答案

Distinct() command used with skip() and limit()

但对我没有帮助。

我该如何解决这个问题。

提前致谢!

【问题讨论】:

【参考方案1】:

我试过按组排序,似乎解决了问题

db.collection.aggregate([
  
    "$group": 
      "_id": "$name"
    
  ,
  
    "$sort": 
      "_id": 1
    
  ,
  
    "$skip": 0
  ,
  
    "$limit": 1
  
])

试试here

【讨论】:

以上是关于MongoDB(PyMongo)分页具有不同的不给出一致的结果的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB/PyMongo:查询多个条件 - 意外结果

如何使用 PyMongo 在 MongoDB 中获取不同的名称和计数

mongodb 多表分页怎么查询

MongoDB:运行更快的查询,这更好 Pymongo 或 MongoEngine

Pymongo / MongoDB:创建索引还是确保索引?

从PyMongo看MongoDB Read Preference