Как упорядочить по метке времени (в порядке убывания) из objectId в наборе запросов в mongoengine? - PullRequest
2 голосов
/ 06 июня 2019

У меня есть коллекция, скажем, Кейджс. Клетки имеет следующие поля: _id (генерируется при сохранении в БД), cage_type (поле строкового типа)

Я выполняю запрос. Я хочу упорядочить по отметке времени, которую объект содержит в порядке убывания.

Обычно мы можем получить доступ к временной метке: YourObject.id.generation_time

Но я не могу понять это в запросе order_by. Там также нет упоминания в документах.

Я пробовал:

query = Cage.objects.order_by('-_id.generation_time').first()
query = Cage.objects.order_by('-id.generation_time').first()
query = Cage.objects.order_by('-_id.getTimestamp()').first()

Но никто не удался.

Был бы очень признателен за любую помощь. Спасибо за ваше время!

1 Ответ

0 голосов
/ 07 июня 2019

Вы можете сортировать по ObjectId напрямую, поскольку он инкапсулирует метку времени создания, он будет упорядочен естественным образом по дате создания.

query = Cage.objects.order_by('-id').first()
...