这是我的文件
class Store(Document):
store_id = IntField(required=True)
items = ListField(ReferenceField(Item, required=True))
meta = {
'indexes': [
{
'fields': ['campaign_id'],
'unique': True
},
{
'fields': ['items']
}
]
}
我找不到如何通过检索整个列表来获取ListFIeld len \ count 我需要像
这样的东西documents.Store.objects.get(store_id=27).items.count()
我发现如何通过mongo console
做到这一点db.store.find({"store_id" : 27})[0].items.length;
但我需要通过Mongoengine。
len(documents.Store.objects.get(store_id = 27).items)是否会检索所有文档,然后通过Python计算它们?
答案 0 :(得分:0)
是的,您可以在len()
上拨打Store.objects.get(store_id = 27).items
功能,因为items
是BaseList
类型
像这样len(Store.objects.get(store_id = 27).items
但我无法找到任何mongoengine语法
并且它很常见,因为BaseList
不是mongoengine类型:D