Ich möchte eine neue Entität testen, die ich im Google Datastore erstellt habe. Ich versuche, eine GQL Abfrage mit einer Ungleichheit zu tun, einige Einheiten in dem Datenspeicher-Web-Interface abzuzurufen:Google Datastore-Fehler: Kein passender Index gefunden
SELECT * FROM UserMatchingIndex WHERE age < 25 AND wants_male = false AND wants_dating = false AND wants_friendship = false AND wants_age = 20
Aber ich habe immer eine Fehlermeldung: „GQL Abfrage-Fehler: Ihre Datastor nicht den Composite-Index haben (Entwickler bereitgestellt), die für diese Abfrage benötigt werden. " während ich die erforderlichen zusammengesetzten Indizes definiert habe!
UserMatchingIndex: age ▲ wants_male ▲ wants_dating ▲ wants_friendship ▲ wants_age ▲ Serving
UserMatchingIndex: age ▲ wants_female ▲ wants_dating ▲ wants_friendship ▲ wants_age ▲ Serving
Diese werden in der index.yaml wie folgt definiert:
- kind: UserMatchingIndex
ancestor: no
properties:
- name: age
- name: wants_male
- name: wants_dating
- name: wants_friendship
- name: wants_age
- kind: UserMatchingIndex
ancestor: no
properties:
- name: age
- name: wants_female
- name: wants_dating
- name: wants_friendship
- name: wants_age
Ich weiß nicht wirklich sehen, was möglicherweise falsch sein könnte ... Ich habe für andere Entitäten viele Male getan. Wenn Sie ein paar Hinweise haben, sind Sie willkommen.
Danke,
Haben diese Indizes in der Entwicklerkonsole den Status "Serving"? –
Ja, sie haben den "Serving" -Status, wie Sie oben sehen können. –
Normalerweise schlägt der Fehler im Protokoll vor, welcher Index hinzugefügt werden soll. Zumindest funktioniert das bei Verwendung von UserMatchingIndex.query(). Filter (UserMatchingIndex.wants_male == Falsch, UserMatchingIndex.wants_dating == False, UserMatchingIndex.wants_friendship == False, UserMatchingIndex.wants_age == 20, UserMatchingIndex.age <25) – Vincent