Mongodb 排除仅由mongoengine返回的默认值字段()

Mongodb 排除仅由mongoengine返回的默认值字段(),mongodb,mongoengine,Mongodb,Mongoengine,假设我有一个类用户,它有10个字段,所有字段都有默认值 如果我这样做: docs=User.objects.only('field1'、'field2'、'field3') 打印文档[0]。_fields.keys() 这仍然会将所有10个字段打印为键(其中7个字段只有默认值或没有) 有没有办法强制使用only()返回的QuerySet实际排除未下载的字段? 文档中没有指定执行此操作的任何方法 MongoEngine文档: 这目前是不可能的(从MongoEngine 0.8.6开始),但在0.

假设我有一个类用户,它有10个字段,所有字段都有默认值

如果我这样做:

docs=User.objects.only('field1'、'field2'、'field3')
打印文档[0]。_fields.keys()
这仍然会将所有10个字段打印为键(其中7个字段只有默认值或没有)

有没有办法强制使用only()返回的QuerySet实际排除未下载的字段? 文档中没有指定执行此操作的任何方法

MongoEngine文档:

这目前是不可能的(从MongoEngine 0.8.6开始),但在0.9版本中已被标记下来

感谢您的提醒。那么only()的主要用法是什么呢?它是为了从mongo获得更快的读取性能(以及更小的内存占用)?是否有字段的内置属性可用于标识是否使用默认值(相对于实际值)检索字段