Mongodb嵌入文档作为相关字段的容器
使用mongodb嵌入式文档将相关字段组合在一起可以吗 示例:文档具有字段Mongodb嵌入文档作为相关字段的容器,mongodb,performance,mongoengine,Mongodb,Performance,Mongoengine,使用mongodb嵌入式文档将相关字段组合在一起可以吗 示例:文档具有字段creator\u id和creator\u language,是否可以将其替换为嵌入文档creator,其中包含字段id和language,而不影响性能 我找不到任何关于嵌入式文档如何存储的信息,除了它没有集合并且绑定到父文档这一事实外,EmbeddedDocument只是文档中的嵌套对象。这在mongodb中是非常标准的,因此切换到mongodb是非常好的。如果您开始使用成百上千的嵌套结构,您可能会观察到mongoen
creator\u id
和creator\u language
,是否可以将其替换为嵌入文档creator
,其中包含字段id
和language
,而不影响性能
我找不到任何关于嵌入式文档如何存储的信息,除了它没有集合并且绑定到父文档这一事实外,EmbeddedDocument只是文档中的嵌套对象。这在mongodb中是非常标准的,因此切换到mongodb是非常好的。如果您开始使用成百上千的嵌套结构,您可能会观察到mongoengine对性能的影响,但看起来这并不是您的计划 有关存储,请参见下文
class DateOfBirth(EmbeddedDocument):
year = IntField()
month = IntField()
day = IntField()
class Person(Document):
name = StringField()
dob = EmbeddedDocumentField(DateOfBirth)
Person(name='John', dob=DateOfBirth(day=1, month=12, year=2000)).save()
将存储如下对象:
# print(Person.objects.as_pymongo().first())
{
'_id': ObjectId('5d2decf7d8eefe0e58da364d'),
'name': 'John',
'dob': {
'year': 2000,
'month': 12,
'day': 1
}
}