アプリケーションで奇妙なことが起こっていることに気付きました。私がやっている体系的なエラーが何であるかを理解することはできません。それにより、id フィールドの名前が None になります。私はmongoengineを使用しており、次のようなドキュメントを定義しました:
class TestDoc(Document):
myField = StringField()
secondField = StringField()
次に、TestDoc 型の Python オブジェクトをインスタンス化すると、次のようになります。
doc = models.TestDoc(myField="My field")
doc.save()
print doc.id
print "TESTING DOC: ", doc.__dict__
これに対する結果は次のとおりです。
>> 516d4e3cd836195263fdd45b
>> TESTING DOC: {'_created': False, '_data': {None: ObjectId('516d4e3cd836195263fdd45b'), 'secondField': None, 'myField': 'My field'}, '_changed_fields': [], '_initialised': True}
「id」という名前のフィールドの代わりに、None という名前の奇妙なフィールドがあり、値として実際の ID を持つ理由がわかりません。DB ではすべて問題ないように見えますが、ドキュメントは問題ないように見えますが、ドキュメントを取得して処理したり、ネットワーク経由で送信するために json に変換したりするとすぐに問題が発生します。誰でも助けることができますか?