javascript - 如何通过在 Google 数据存储中传递 ID 数组作为输入来检索实体?
问题描述
我正在尝试在数据存储中实现以下 SQL 逻辑,
SELECT * from table where id in [1,2,3,4,5]
在数据存储中实现这一点,我想检索所有具有这些 ID 的相应实体作为数组。
let employees = []
try {
for (let id of idArray) {
const employee = await employeeRepo.getOneById(workspace, id)
employees.push(employee)
}
} catch (e) {
throw e;
}
这是该函数的幼稚逻辑,我试图将其简化为单个查询。
解决方案
以下是如何根据您的代码执行此操作的示例:
const employee1 = this.datastore.key(['Employee', 1]);
const employee2 = this.datastore.key(['Employee', 2]);
const employee3 = this.datastore.key(['Employee', 3]);
const keys = [employee1, employee2, employee3];
try {
const [employees] = await datastore.get(keys);
} catch (e) {
throw e;
}
推荐阅读
- reverse-engineering - 是否有任何库可以连接到 Dota2 游戏服务器?
- sql - 将一条记录分成两条记录的sql
- python - TypeError:只有长度为 1 的数组可以转换为 Python 标量 Python Array 和 Numpy
- java - UCAExc:::4.0.4 用户缺少权限或找不到对象:TBLUSERS
- c++ - 从引用的向量中获取 SEGFAULT
- angular - 如何使用formgroup在angular 2中提交带有方法post的表单
- javascript - 在 React 中渲染动态 html
- php - PHP如何组合到数组值
- python - 在其他函数中重新定义python函数
- c# - 在 .NET Core API 中返回 RSS 提要