Как сделать запрос через вложенные ключи в хранилище данных Google? - PullRequest
0 голосов
/ 16 марта 2020

У меня есть пользователи, которые хранятся под указанными c уникальными идентификаторами. Мне нужно запросить их по определенному свойству, но я не могу понять, как это сделать, когда мой уникальный идентификатор является частью ключа.

const user1 = {
    id: 1,
    name: 'John Smith',
    cityId: 102,
};

const user1 = {
    id: 2,
    name: 'Rudy Black',
    cityId: 102,
};

const upsertUser = user => {
    const key = datastore.key([ 'users', user.id ]);

    return datastore.upsert({ key, data: user });
});

const getUsersInCity = async cityId => {
    const query = datastore.createQuery('users').filter('cityId', '=', cityId);

    const [ users ] = await datastore.runQuery(query);

    return users;
};

upsertUser(user1);
upsertUser(user2);

console.log(await getUsersInCity(102)); // Expected: John Smith, Rudy Black

1 Ответ

0 голосов
/ 16 марта 2020

Пример кода, который вы можете попробовать, чтобы запросить значения по идентификатору, он использует следующий код:

const key = this.datastore.key(['Customer', id:number]);
await this.datastore
  .get(key)
  .then(results => {
    console.log(results);
  })
  .catch(err => { console.error('ERROR:', err); });

Этот код был получен из статьи Google DataStore Query By Nodejs. Эта статья содержит несколько хороших примеров запросов, которые вы можете посмотреть.

Я бы порекомендовал вам взглянуть на него и использовать приведенный выше код в качестве отправной точки.

Дайте мне знать если информация помогла вам!

...