我有一个使用 Google Datastore 的 NodeJS 应用程序。我设置了一个基本查询,它可以从数据库返回数据。
问题:如何检索返回的每个实体的 ID?我需要结果集中的 ID,以便可以在 UI 上向用户显示它。
这是到目前为止的 NodeJS 查询。我能够获取整个密钥,但如何从查询结果中仅获取 ID?
NodeJS:
const treq_history = datastore.createQuery('TransferRequest');
//Set query conditions
treq_history.filter('requester', 'test');
//Run datastore query
datastore.runQuery(treq_history, function(err, entities) {
if(err) {
console.log('Transfer Request History JSON unable to return data results for File Path. Error message: ', err);
return;
//If query works and returns any entities
} else if (entities[0]) {
//Access the Key object for an entity.
var firstEntityKey = entities[0][datastore.KEY];
console.log('Entity key: ', firstEntityKey);
console.log('Entity data: ' + JSON.stringify(entities[0]));
res.json(entities);
return;
} else {
//Else if query works but does not return any entities return an empty object in JSON response
res.json('{}');
return;
}
});
控制台输出:
Entity key Key {
namespace: undefined,
id: '5658319839738991',
kind: 'TransferRequest',
path: [Getter] }
Entity data: {"transfer_request_status":"Processing","created_datetime":1509395305624,"requester":"test","dataowner":"example"}
UPDATE:
我能够使用密钥访问 ID:
entities[0][datastore.KEY]['id']