错误消息:InvalidKey:密钥至少应包含一种

Error Message : InvalidKey: A key should contain at least a kind

尝试更新 google 云数据存储中的实体时出现以下错误:

InvalidKey: A key should contain at least a kind.
    at keyToKeyProto (/Volumes/Drive B/dev/zapi/node_modules/@google-cloud/datastore/src/entity.js:696:11)
    at Array.map (<anonymous>)
    at DatastoreRequest.createReadStream (/Volumes/Drive B/dev/zapi/node_modules/@google-cloud/datastore/src/request.js:226:23)
    at DatastoreRequest.get (/Volumes/Drive B/dev/zapi/node_modules/@google-cloud/datastore/src/request.js:461:8)
    at /Volumes/Drive B/dev/zapi/node_modules/@google-cloud/common/build/src/util.js:681:32
    at new Promise (<anonymous>)
    at Datastore.wrapper [as get] (/Volumes/Drive B/dev/zapi/node_modules/@google-cloud/common/build/src/util.js:662:20)
    at fetchEntity (/Volumes/Drive B/dev/zapi/node_modules/gstore-node/lib/model.js:204:36)
    at Function.get (/Volumes/Drive B/dev/zapi/node_modules/gstore-node/lib/model.js:174:16)
    at Promise (/Volumes/Drive B/dev/zapi/node_modules/gstore-node/lib/utils.js:39:35)
    at new Promise (<anonymous>)
    at Function.wrapper (/Volumes/Drive B/dev/zapi/node_modules/gstore-node/lib/utils.js:27:16)
    at resolve (/Volumes/Drive B/dev/zapi/graphql/mutations/user/linkConsult.js:101:44)

我不知道这是为什么。

提前致谢。

当您尝试访问密钥时,当没有可用数据时密钥不可用,它会给出错误

"Error Message : InvalidKey: A key should contain at least a kind"

要避免此错误,请首先确保 [datastrore.KEY] 可用。

谢谢

我想在此答案中添加更多细节。如果您在使用 datastore.save 方法时 运行 遇到此错误,这里有一些其他有用的要点可以调查。实体需要正确的密钥 属性,如下例所示。

// remember to use the key method on the google data store instance
const entity = {
  key: dataStore.key('Name of your Kind') // this is Kind property you see on the GCP dashboard,
  data: {
    example: 'this is an example',
    ...
  }
};

// then save the entity
const dbResult = await dataStore.save(entity)