从本地数据存储检索时未定义实体键和数据属性
Entity key and data properties not defined when retrieving from local datastore
我正在尝试按照 Google 文档进行操作,这是我面临的问题。根据文档 here 当我检索到这样的实体时
var key = datastore.key(['Company', 'Google']);
datastore.get(key, function(err, entity) {
// entity.data = The record.
// entity.key = The key.
});
我应该得到一个具有键和数据属性的实体对象。那不是我得到的。这是我的阅读功能
function read(kind, id, cb) {
var key = datastore.key([kind, parseInt(id, 10)]);
datastore.get(key, (err, entity) => {
if(err) {
return cb(err);
}
if(!entity) {
return cb({
code: 404,
message: 'Not found'
});
}
cb(null, entity.data);
});
}
数据或键均未定义。相反,检索到的实体看起来像这样
{
"age": 23,
"name": "Hello World"
}
这显然只是数据。我究竟做错了什么?我正在使用 gcloud 数据存储模拟器
这是我的相关依赖项
"dependencies": {
"async": "^2.0.1",
"body-parser": "^1.15.2",
"express": "^4.14.0",
"google-cloud": "^0.43.0",
"yargs": "^5.0.0"
}
从@google-cloud/datastore v0.5.0 开始,可以从 Symbol 访问密钥。
var datastore = require('@google-cloud/datastore')();
var key = datastore.key(['Company', 'Google']);
datastore.get(key, function(err, entity) {
var key = entity[datastore.KEY];
});
当然,您始终可以使用 gstore-node(免责声明:我是该库的所有者),然后您只需通过 entity.entityKey.
访问它
我正在尝试按照 Google 文档进行操作,这是我面临的问题。根据文档 here 当我检索到这样的实体时
var key = datastore.key(['Company', 'Google']);
datastore.get(key, function(err, entity) {
// entity.data = The record.
// entity.key = The key.
});
我应该得到一个具有键和数据属性的实体对象。那不是我得到的。这是我的阅读功能
function read(kind, id, cb) {
var key = datastore.key([kind, parseInt(id, 10)]);
datastore.get(key, (err, entity) => {
if(err) {
return cb(err);
}
if(!entity) {
return cb({
code: 404,
message: 'Not found'
});
}
cb(null, entity.data);
});
}
数据或键均未定义。相反,检索到的实体看起来像这样
{
"age": 23,
"name": "Hello World"
}
这显然只是数据。我究竟做错了什么?我正在使用 gcloud 数据存储模拟器
这是我的相关依赖项
"dependencies": {
"async": "^2.0.1",
"body-parser": "^1.15.2",
"express": "^4.14.0",
"google-cloud": "^0.43.0",
"yargs": "^5.0.0"
}
从@google-cloud/datastore v0.5.0 开始,可以从 Symbol 访问密钥。
var datastore = require('@google-cloud/datastore')();
var key = datastore.key(['Company', 'Google']);
datastore.get(key, function(err, entity) {
var key = entity[datastore.KEY];
});
当然,您始终可以使用 gstore-node(免责声明:我是该库的所有者),然后您只需通过 entity.entityKey.
访问它