#python #mongodb #mongoengine #nosql
#python #mongodb #mongoengine #nosql
Вопрос:
У меня возникли проблемы с получением MongoEngine для принятия определенных идентификаторов. Кажется, что он абсолютно настроен использовать (и только использовать) ObjectId
s. Я более чем способен генерировать свои собственные идентификаторы в этом случае, спасибо.
Как я могу заставить MongoEngine работать нормально?
Комментарии:
1. У меня возникли проблемы с ответом на ваш вопрос, потому что вы не показали никакого кода, указывающего на проблему.
Ответ №1:
Мне удалось решить эту проблему, добавив в класс следующее:
id = mongoengine.StringField(required=True, primary_key=True)
Не уверен, что это «правильный» способ выполнения действий, поэтому я оставлю это без ответа на некоторое время.
Комментарии:
1. В чем была ваша проблема. Что вы добавили, чтобы это исправить? Как бы кто-то, кроме вас, понял вашу проблему? Вы хотите сказать, что раньше у вас вообще не было никакого поля, действующего как идентификатор, и вы не могли понять, почему mongoengine не разрешал вам использовать поле ad hoc id?
2. Я мог бы указать поле id, даже если бы оно не было указано, но оно не принимало бы идентификатор string / unicode, только ObjectId .
3. @NoahMcIlraith была ли эта проблема решена в более поздних версиях mongoengine? В настоящее время я использую 0.9.0 и сталкиваюсь с той же проблемой, однако у меня это сработало.