0

使用DatastoreService我如何查询String包含一些类似于 Java 的字符串String

  • 包含
  • 以。。开始
  • 以。。结束
4

2 回答 2

2

在查询字符串属性时,完全匹配是最简单的,因为这种行为“开箱即用”。

“startsWith”查询可以通过转换为 来相当容易地完成property startsWith: abcproperty >= 'abc' and property < 'abd'您可以在其中计算范围的结尾。

“endsWith”可以通过存储字符串的反向副本来完成,并像上面一样创建查询,但目标是反向的。即,property endsWith: 'abc'变为 `propertyReversed >= 'cba' 和 propertyReversed < 'cbb'。

“包含”是一个很大的挑战。有几种方法,适合您情况的方法取决于您的情况。如果字符串相对较短(例如,地址的名称),您可以存储尾随子字符串的列表,并使用上述范围查询与它们进行匹配。

于 2012-11-13T03:50:03.633 回答
0

正如 Dave 在他的回答中提到的,contains它不能作为 Datastore 原语使用。如果您正在寻找包含查询,搜索 API是一个不错的选择(注意:它仍处于试验阶段)。

于 2012-11-13T20:58:40.873 回答