Как узнать последний id в Mongodb?

В MongoDB нет встроенного способа непосредственно получить последний id в коллекции, так как база данных MongoDB не поддерживает автоинкрементные поля, как в реляционных базах данных. Вместо этого в MongoDB используется набор объектов, называемых документами, которые могут иметь уникальные идентификаторы - ObjectId.

ObjectId - это уникальный идентификатор, который генерируется MongoDB для каждого документа при его создании. ObjectId состоит из 12 байтов и состоит из временной метки, идентификатора машины, идентификатора процесса и счетчика.

Если вам нужно получить последний добавленный документ, вы можете сортировать документы по убыванию ObjectId и выбрать верхний документ. Вот пример запроса на языке Python, используя официальный драйвер PyMongo:

from pymongo import MongoClient

client = MongoClient('mongodb://localhost:27017')  # Подключение к серверу MongoDB
db = client['mydatabase']  # Выбор базы данных
collection = db['mycollection']  # Выбор коллекции

last_document = collection.find().sort('_id', -1).limit(1)[0]
last_id = str(last_document['_id'])

print(last_id)

В этом примере мы подключаемся к серверу MongoDB, выбираем базу данных и коллекцию, а затем сортируем документы по убыванию _id и ограничиваем выборку одним документом. Таким образом, мы получаем последний добавленный документ и выводим его _id.

Обратите внимание, что это решение будет работать только в том случае, если ObjectId были созданы последовательно при добавлении документов в коллекцию. Если какой-то документ был удален, то его _id уже не будет учитываться при определении последнего _id.