2

在文档中,它说没有办法查询不包含等于特定值的标签的实体:https ://developers.google.com/appengine/docs/python/ndb/queries#neq_and_in

我有一组实体,每个实体都有一组标签。我需要找到那些没有特定标签的实体。ndb 查询限制有什么解决方法吗?

4

1 回答 1

2

每次创建/更新实体时,它的索引都会根据它的属性值进行更新。

如果属性不存在或列表属性不包含值(在您的情况下为标签),则索引中没有它的条目。由于查询依赖于索引来查找内容,因此不会被找到。

这不是 NDB 查询限制,而是 GAE 数据存储限制,这意味着访问它的所有 API 都具有此限制(Java/Python/Go、低级 API 等)。

AFAIK,没有直接的解决方法。您可以通过获取所有文章然后为缺少标签的人签入代码来围绕它进行编码,但这可能会根据文章的数量而代价高昂。

您可能想创建一个新问题并从应用程序的角度详细描述该问题:您要达到的最终结果是什么?

于 2012-08-08T09:40:24.083 回答