用于查询嵌入式实体的数据存储区复合索引

时间:2018-01-30 15:41:17

标签: google-cloud-datastore

我有以下实体:

I have the following entity

这是一个示例查询:

$list = 'My List';
$query->filter('isUnsubscribed.'.$list, '=', '0');  
$query->filter('methodAdded.'.$list, '=', 'Import'); 
$query->filter('dateAdded.'.$list, '<', '13.01.2018'); 

以下是问题:

如果我的索引是:

,一切正常
- kind: Contacts
  ancestor: yes
  properties:
  - name: isUnsubscribed.My List
  - name: methodAdded.My List
  - name: dateAdded.My List

但我无法为每个列表创建索引,因为用户可以创建自己的列表。所以我尝试使用此索引,但它无法正常工作:

- kind: Contacts
  ancestor: yes
  properties:
  - name: isUnsubscribed
  - name: methodAdded
  - name: dateAdded

有没有办法在不指定嵌入式实体中的属性的情况下创建索引,可能是通配符还是其他东西?

1 个答案:

答案 0 :(得分:1)

没有办法查询存储在属性名称中的用户数据(这也包括嵌入的属性名称)。始终构建数据,以便变量数据最终作为值,众所周知(由程序员)数据是类型/属性名称。

在您的示例中,将isUnsubscribed作为用户取消订阅的列表的重复属性(数组) - 您当前拥有的所有值为0值。对于包含1的所有内容,您可以拥有第二个列表isSubscribed