gcp-datastore-cloud-functions-realworld-example-app icon indicating copy to clipboard operation
gcp-datastore-cloud-functions-realworld-example-app copied to clipboard

Taglist api returns a null string when an article exists without a taglist + performance once db grows

Open quantuminformation opened this issue 6 years ago • 1 comments

I have the following data for articles:

Screenshot 2019-10-08 at 19 21 06

When running this query: const tags = (await ds.createQuery(namespace, 'Article').select('tagList').run())[0];

Will return Screenshot 2019-10-08 at 19 22 44

I feel that we should not return this null item. Or the client should handle it.

what do you think?

quantuminformation avatar Oct 08 '19 19:10 quantuminformation

Also, this query will retrieve every taglist from every article. Would it not be better to filter them at the db level instead of performing the filtering on the cloud function.

  async getAllTags() {
    const tags = (await ds.createQuery(namespace, 'Article').select('tagList').run())[0];
    const dedupeObj = {};
    for (let i = 0; i < tags.length; ++i) {
      dedupeObj[tags[i].tagList] = 1;
    }
    return Object.keys(dedupeObj);
  },

quantuminformation avatar Oct 08 '19 20:10 quantuminformation