Меня немного смущает использование Mongo DB ObjectIds. Конечно, они отлично подходят для создания идентификаторов на стороне клиента, которые почти наверняка не конфликтуют с другими идентификаторами, созданными на стороне клиента. Но монго, похоже, хранит их каким-то особым образом. Хранение строкового представления идентификатора отличается от хранения идентификатора объекта как объекта. Почему это?
Разве строковая форма не содержит той же информации, что и объектная форма? Почему монго так старается различать эти две формы? Меня смущает, когда я пытаюсь сравнить _ids, например, отправленные из внешнего интерфейса. Моя база данных никоим образом не согласуется с тем, хранит ли она идентификаторы строковой формы или идентификаторы объектной формы, и хотя мой код, безусловно, частично виноват, я в основном виню монго за то, что он сделал это таким странным.
Я ошибаюсь, что это странно? Почему монго делает это именно так?