如何通过Google数据存储区中的嵌套键进行查询?

问题描述 投票:0回答:1

我有用户,存储在特定的唯一ID下。我需要通过某个属性来查询它们,但是当我的唯一ID是键的一部分时,我无法弄清楚该怎么做。

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

node.js google-cloud-datastore
1个回答
0
投票

一个示例代码,您可以尝试使用它通过ID查询值,它使用以下代码:

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。本文提供了一些很好的查询示例,您可以看一下。

我建议您看一下,并使用上面的代码作为起点。

让我知道信息是否对您有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.