Pymongo: продолжайте создавать новые идентификаторы

#python #mongodb #pymongo

#python #mongodb #pymongo

Вопрос:

В проекте pymongo, над которым я работаю, в определенной коллекции я должен продолжать загружать имя и возраст людей, которые будут их вводить. Я должен идентифицировать их с помощью уникальных идентификаторов.

То, что я планирую сделать, это начать первый идентификатор с 1. При вставке данных я сначала читаю всю коллекцию, нахожу количество записей, а затем сохраняю свою запись со следующим идентификатором. (например. Я читаю и нахожу, что есть 10 записей, тогда идентификатор моей новой записи будет 11).

Но есть ли лучший способ сделать это?

Ответ №1:

MongoDB уже присваивает уникальный идентификатор каждому документу, который можно сортировать в порядке возрастания. Если вы не хотите это использовать, вы можете создать отдельную коллекцию, которая должна содержать только 1 документ с totalRecordsCount . И увеличивайте его каждый раз, когда вы добавляете новую запись и получаете последний номер перед добавлением новой записи. Это не лучший способ, но вы сможете избежать чтения всей коллекции.