コンテンツが追加されると、コレクションの名前はデフォルトでクラスの名前に設定されます。コレクション名を指定することは可能ですか、それとも私のアプローチは間違っていますか?私のコレクションのコードを使用すると、デフォルトで「mongo_engine_python」という名前になります。
from mongoengine import *
try:
connect(
db='MongoEngine_Test',
Host="mongodb://localhost:27017/"
)
print("Connection successful")
except:
print("Unable to connnect")
class MongoEnginePython(Document):
item_name = StringField(max_length=200, required=True)
item_price = IntField(default=0)
ドキュメントを適切に確認しませんでした。ここにあります:
2.3.4。ドキュメントコレクション
Documentから直接継承するDocumentクラスは、データベースに独自のコレクションを持ちます。コレクションの名前は、デフォルトでは小文字に変換されたクラスの名前です(したがって、上記の例では、コレクションはpageと呼ばれます)。コレクションの名前を変更する必要がある場合(たとえば、既存のデータベースでMongoEngineを使用する場合)、ドキュメントにmetaというクラスディクショナリ属性を作成し、コレクションに、ドキュメントクラスで使用するコレクションの名前を設定します。 :
class Page(Document):
title = StringField(max_length=200, required=True)
meta = {'collection': 'cmsPage'}