使用django-mongodb,如何对下限的集合进行排序?

时间:2012-02-20 15:45:26

标签: django sorting mongodb django-nonrel

有这个模型,一个代表mongodb的上限集合的类:

class Event(models.Model):
   objects = MongoDBManager()
   create_at = models.DateTimeField(auto_now_add=True)
   obj = BlobField()
   class MongoMeta:
      capped = True
      collection_size = 1000*1024*1024

我可以使用什么来按照插入的相反顺序获取文档?

3 个答案:

答案 0 :(得分:0)

我不是蟒蛇人,但我可以告诉你,加盖的集合Natural Order是插入的顺序。因此,您可以执行与此等效的python以获得相反的顺序:

db.cappedCollection.find().sort({$natural:-1})

一些谷歌搜索告诉我,这转换为python中的以下内容:

 mongodb.cappedcol.find().sort('$natural',-1)

或者:

 mongodb.cappedcol.find().sort('$natural', pymongo.DESCENDING)

答案 1 :(得分:0)

答案 2 :(得分:0)

这是pymongo级别的暂时解决方案, django-mongodb级别:

from django.db import connections
import pymongo

conn = connections['default']
events_col = conn.get_collection('base_event')
events = events_col.find().sort('create_at', pymongo.DESCENDING)