Datastore 使用 Node 获取最后插入的 ID

Datastore get last inserted id with Node

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

文档说要这样插入:

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

据此,检查返回的 result 对象, 我找到的唯一方法是像这样穿过对象

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

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

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

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

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

不过,我也可以像这样定位实体

const userEntity = {
  email: 'foo@foo.com',
  passwd: 'secret'
}

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