Как мне искать что-то кроме пользователя? - PullRequest
0 голосов
/ 23 апреля 2020

В Google Cloud Platform / Datastore / Entities с видом «Пользователь» мне показываются первые 50 пользовательских ключей (которые я могу успешно искать с помощью фильтра по ключу), а рядом с каждым пользовательским ключом отображается значение объекта "gaeUser", который является строкой, такой как Joe@gmail.com. Я нажимаю «Фильтровать объекты» и в раскрывающемся меню я выбираю «gaeUser». Это автоматически устанавливает «строка, равная», и в последнем окне Я ввожу 'Joe.gmail.com', который является одним из значений gaeUser, показанных на предыдущем дисплее. Мне возвращается "Ни один объект не соответствует этому запросу". Я, конечно, также пробовал двойные кавычки или ни одного, но безуспешно Я действительно должен быть в состоянии сделать такие поиски, и я не могу понять, почему я не могу. Помощь?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

Спасибо! Это очень полезно, так как я никогда не нажимал правильные вещи, чтобы попасть на страницу, которую вы показываете. Я вижу, что gaeUser фактически индексируется, но его типом является «встроенная сущность», что бы это ни было. Я также показал код ниже. Могу ли я изменить тип с «внедренного объекта» на «строку», не разрушая хранилище данных? Как мне поступить? (Я знаю, что это не ответ, и что я не должен публиковать ответ, но я понятия не имею, как отображать код разумно, не используя механизм ввода ответа (где я вижу, что можно также публиковать изображение) .

{
  "properties": {
    "auth_domain": {
      "stringValue": "gmail.com",
      "excludeFromIndexes": true
    },
    "user_id": {
      "stringValue": "1114935",
      "excludeFromIndexes": true
    },
    "email": {
      "stringValue": "gork@gleep.org",
      "excludeFromIndexes": true
    }
  }
}
0 голосов
/ 24 апреля 2020

Было бы полезно посмотреть скриншот нефильтрованных результатов, показывающий gaeUser.

Возможные проблемы:

  • свойство gaeUser не проиндексировано
  • свойство gaeUser не является типом String, но что-то еще
  • значение Joe@gmail.com содержит пробел в нем, как \r\n

РЕДАКТИРОВАТЬ: добавлен скриншот. Если щелкнуть указанный объект c в средстве просмотра хранилища данных, а затем щелкнуть свойство, оно сообщит вам, что это за тип. enter image description here

РЕДАКТИРОВАТЬ 2:

Хмм, встроенный объект. Я думаю, что вам нужно искать в поле gaeUser.email Если раскрывающийся пользовательский интерфейс не предоставляет это поле для вас, возможно, попробуйте QUERY BY GQL вместо QUERY BY KIND

SELECT * From `User` where gaeUser.email='gork@gleep.org'
...