Google app engine 如何搜索结构化属性?谷歌应用引擎
我有两个车型类别和城市:Google app engine 如何搜索结构化属性?谷歌应用引擎,google-app-engine,data-structures,app-engine-ndb,google-cloud-datastore,Google App Engine,Data Structures,App Engine Ndb,Google Cloud Datastore,我有两个车型类别和城市: class category(ndb.Model): hidden = ndb.BooleanProperty() categoryName = ndb.StringProperty() class city(ndb.Model): categories = ndb.StructuredProperty(category,repeated = True) cityName = ndb.StringProperty()
class category(ndb.Model):
hidden = ndb.BooleanProperty()
categoryName = ndb.StringProperty()
class city(ndb.Model):
categories = ndb.StructuredProperty(category,repeated = True)
cityName = ndb.StringProperty()
我有城市实体:
如何返回仅包含category.hidden=false的类别列表
编辑:
可以获取类别列表,然后在类别列表中循环并提取未隐藏的类别
例如,我有城市实体:
categories_unhidden_list = []
for category in city.categories :
if not category.hidden :
categories_unhidden_list.append(category)
但是我想从数据存储中获取类别列表 查询将只匹配所查询的内容。如果实体满足条件,它将返回该实体。如果您有一个重复的属性,并且查询与其中一个值匹配,那么它将返回实体中的整个列表,而不仅仅是匹配的列表。这就是为什么重复属性几乎总是键、简单值或简单键值对的原因
您可能希望查看A和B的数据结构,以便可以查询值为x的类别和键为y的父实体,而不是查询重复列表中键为x的y。@voscausa谢谢,但这不会返回返回返回城市实体的类别列表,我编辑问题来澄清!是的,查询将返回整个实体,其中包含您要查询的…位置。从过滤的实体中,您可以提取类别列表以进行列表处理。嗯,好的,谢谢,我只是认为数据存储可以返回过滤的列表,而不必在我的代码中这样做,因为数据存储可以更有效地这样做。