Я хочу получить последний документ, который, очевидно, является единственным документом, поэтому findOne
должен работать нормально. Но findOne
здесь возвращает первый вставленный документ. Поэтому у меня есть два варианта: либо используйте $orderBy
с findOne
, либо используйте .sort()
функцию с .limit()
в find()
Используя $orderBy, он будет выглядеть примерно так:
db.collection.findOne({$query:{},$orderby:{_id:-1}})
И используя sort:
db.collection.find().sort({_id:-1}).limit(1).pretty()
Оба работают отлично, я просто хотел узнать, какой запрос я должен здесь использовать? Что касается производительности, либо оба они работают одинаково внутри, и между ними нет такой разницы.