【发布时间】:2016-10-26 17:16:21
【问题描述】:
如何获取查询返回的实体的键?
我尝试像访问普通数据一样访问它,但是当我打印实体本身时没有键。有没有办法做到这一点?
提前感谢您的帮助。
【问题讨论】:
标签: node.js google-app-engine google-cloud-datastore
如何获取查询返回的实体的键?
我尝试像访问普通数据一样访问它,但是当我打印实体本身时没有键。有没有办法做到这一点?
提前感谢您的帮助。
【问题讨论】:
标签: node.js google-app-engine google-cloud-datastore
从 @google-cloud/datastore v0.5.0 的 0.5.0 版开始,密钥现在可以通过符号访问。
var datastore = require('@google-cloud/datastore')();
var query = datastore.createQuery('AnimalNamespace', 'Lion');
query.run(function(err, entities) {
var keys = entities.map(function(entity) {
// datastore.KEY is a Symbol
return entity[datastore.KEY];
});
});
您也可以使用 gstore-node 库 (https://github.com/sebelga/gstore-node),然后您可以通过 entity.entityKey 直接访问它
【讨论】:
根据the documentation,datastore.runQuery返回一个实体对象,属性为data和key。你对key感兴趣。
datastore.runQuery(query, function(err, entities) {
// entities = [
// {
// data: The record,
// key: The key for this record
// },
// ...
// ]
});
因此,例如使用第一个实体,您可以像这样访问密钥:
entity = entities[0]
key = entity.key
【讨论】: