【问题标题】:How to query from Google Datastore using NOT LIKE filter condition?如何使用 NOT LIKE 过滤条件从 Google Datastore 查询?
【发布时间】:2018-04-23 12:10:39
【问题描述】:

如何在 Python 和 Google App Engine 数据存储中使用 NOT LIKE SQL 运算符?我想过滤数据库中的字符串。

q = Post.all()
q.filter("text NOT LIKE", "%Something%")

【问题讨论】:

标签: google-app-engine google-cloud-datastore


【解决方案1】:

AppEngine Datastore 不支持此功能。

数据存储区可以仅通过索引查询实体(并通过 ID 和 SELECT 获取没有任何过滤器/顺序基本上是对键索引的查询)。

这是分布式数据存储的架构限制。

有一些解决方案可以满足您的需求,但 Google Cloud Datastore 不是其中之一。

【讨论】:

  • 我想在 sql 中过滤字符串输出示例:%some% 如何在谷歌云数据存储上做到这一点?
  • 您可以在 python 代码中加载更多实体并过滤掉,但这可能会很昂贵。如果您的过滤器集有限且事先已知,您可以添加字符串属性列表,并在实体满足您的条件时向实体添加标志。然后使用 =. 按该列表属性进行过滤
  • 如果您真的需要任意的 NOT LIKE 或 LIKE 搜索,最好使用 Cloud SQL 或任何其他 SQL 解决方案,或者可能是 hadoop 或类似的东西。有很多选择,选择实际上取决于您的需求和技能。
  • 非常感谢,我现在就试试#Alexander Trakhimenok
猜你喜欢
  • 2016-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-17
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多