node.js - 数据存储区使用 Node 获取最后插入的 id

标签 node.js google-app-engine datastore

如何使用 Node 获取数据存储中最后插入的实体的 ID?

文档说要像这样插入:

datastore.insert(entity)
  .then(result) => {
    // Task inserted successfully.
  });

由此,检查返回的 result 对象, 我发现的唯一方法就是像这样遍历对象

result[0].mutationResults[0].key.path[0].id

这看起来脆弱且不可靠。如果将来返回的对象的结构中断,应用程序就会中断。

这是在 Node 中执行此操作的正确方法吗?

最佳答案

我相信我可能已经回答了我自己的问题。

then 回调中,我确实必须执行 result[0].mutationResults[0].key.path[0].id

但是,我也可以定位该实体,就像这样

const userEntity = {
  email: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4f2920200f292020612c2022" rel="noreferrer noopener nofollow">[email protected]</a>',
  passwd: 'secret'
}

ds.insert(userEntity)
  .then(result) => {
    return userEntity.key.id
    // or, result[0].mutationResults[0].key.path[0].id
  }

关于node.js - 数据存储区使用 Node 获取最后插入的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46535582/

相关文章:

javascript - 空 Node.js/Express 响应

node.js - 检索多个元素后的链式操作

r - 在单个 RDS 文件中保存多个变量

javascript - 如何删除 DOJO 数据存储添加到我的已提取项目中的所有额外字段?

google-app-engine - 在 GAE 中实现唯一约束

node.js - Azure 表存储性能

node.js - 在 Redis 中存储和检索坐标数据

python - 将 GAE 模型转换为 JSON

python - ndb 单例模式

google-app-engine - 请求特定网址时 App Engine 中的 DownloadError