Google Datastore возвращает неполные данные через официальную клиентскую библиотеку для nodejs - PullRequest
0 голосов
/ 29 мая 2019

Вот некоторая информация о контексте проблемы, с которой я столкнулся:

  1. у нас есть полструктурированные (JSON из бэкэнда node.js) данные в хранилище данных.
  2. после сохранения объекта,
  3. и получение списка сущностей о них в ближайшее время и даже через некоторое время,
  4. возвращенные данные не имеют одного индексированного свойства
  5. Я могу найти сущность по значению этого свойства.

Я использую Google Datastore через клиентскую библиотеку node.js. @google-cloud/datastore: "^2.0.0".

Как это может быть возможно? Я понял, когда из-за возможной согласованности некоторые обновления могут быть написаны не полностью и т. Д. Но когда я получаю такую ​​же несогласованность - сохраняется нехватка целого свойства объекта e. г. час назад? Я прошел сценарий несколько раз для одного и того же вида несколько раз. У меня нет таких проблем с другими видами или другими подобными свойствами.

Как мне избежать подобных проблем с Google Datastore?

1 Ответ

0 голосов
/ 30 мая 2019

Ответьте за всех, кто может столкнуться с такой проблемой. Мы в основном не используем DTO (объекты передачи данных) или другие оболочки для большинства наших видов в этом проекте, но для этого использовался DTO, главным образом для того, чтобы у объектов результата были значения по умолчанию для свойств, опущенных / отсутствует в сущности, что обычно происходит для сущностей, созданных в более старой версии кода.

После более тщательного изучения собственного кода я обнаружил фрагмент кода, который не синхронизирован с другими связанными фрагментами кода - не было строки для копирования этого свойства из сущности в объект DTO.

Примечание: фактически вся эта ситуация напоминает мне историю или мем о парне, который утверждал, что нашел ошибку в компиляторе только потому, что он не смог найти ошибку, которую он допустил в своем коде.

...