Можете ли вы отфильтровать свойство, которым обладает только половина запрашиваемых записей? - PullRequest
0 голосов
/ 24 января 2020

Допустим, у меня есть 10 записей типа Foo в моей БД, и половина из них выглядит как

{
 bar: Boolean
 baz: Boolean
}

, а другая половина отсутствует в этом свойстве, потому что они являются устаревшими записями, которые произошли до схемы. был обновлен, и они выглядят так:

{
 bar: Boolean
}

Теперь я хочу отфильтровать по baz, но половина моих записей даже не имеет этого свойства. Что произойдет, если я запущу здесь фильтр? Будет ли он работать правильно, если я скажу {baz: {содержит: 'true'}}?

Использование AWS AppSyn c для управления моим сервером GraphQL, который, между прочим, взаимодействует с DynamoDB.

1 Ответ

1 голос
/ 24 января 2020

После дополнительных исследований выясняется, что после обновления вашей схемы AppSyn c фактически вернет это свойство со значением null, так что вы сможете безопасно фильтровать. Тем не менее, обратите внимание, что в DynamoDB вы не увидите столбец, содержащий эти нулевые значения ... столбца просто нет, поэтому я предполагаю, что свойство генерируется решателем GraphQL, когда ему не удается найти значение в DynamoDB.

...