使用MongoEngine指定集合名称
问题内容:
添加内容后,集合的名称将默认为类的名称。是否可以指定集合名称,或者我的方法错误?使用我拥有的收藏夹的代码,默认情况下将其命名为“
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类将在数据库中拥有自己的集合。默认情况下,集合的名称是类的名称,转换为小写(因此在上面的示例中,集合称为页面)。如果您需要更改集合的名称(例如,将MongoEngine与现有数据库一起使用),请在您的文档上创建一个名为meta的类字典属性,并将collection设置为您希望文档类使用的集合的名称:
class Page(Document):
title = StringField(max_length=200, required=True)
meta = {'collection': 'cmsPage'}