[英]How to do a “keys-only-query” in Google Cloud Datastore (Node.js)
[英]How to query through nested keys in Google datastore?
我有用户,存储在特定的唯一 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
您可以尝试使用通过 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 。 本文提供了一些很好的查询示例,您可以查看一下。
我建议您看一下它并使用上面的代码作为起点。
如果这些信息对您有帮助,请告诉我!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.