我一直在使用谷歌云库,我可以在DataStore中成功保存数据,特别是我的粒子电子设备(在这里使用他们的教程https://docs.particle.io/tutorials/integrations/google-cloud-platform/)
我现在遇到的问题是再次检索数据。 我正在使用此代码,但它没有返回任何内容
function getData(){
var data = [];
const query = datastore.createQuery('ParticleEvent').order('created');
datastore.runQuery(query).then(results => {
const event = results[0];
console.log(results);
event.forEach(data => data.push(data.data));
});
console.log(data)
}
但每次返回空时专门返回此:
[ [], { moreResults: 'NO_MORE_RESULTS', endCursor: 'CgA=' } ]
,我无法弄清楚为什么,因为我在这个数据存储区中保存了多个实体。
由于
答案 0 :(得分:1)
在教程中提到的repo的tutorial.js中,我看到使用此数据创建了ParticleEvent
个实体:
var obj = {
gc_pub_sub_id: message.id,
device_id: message.attributes.device_id,
event: message.attributes.event,
data: message.data,
published_at: message.attributes.published_at
}
这意味着实体没有created
属性。我怀疑按此类属性名称排序查询是查询不返回结果的原因。来自Datastore Queries(强调我的):
结果包括至少有一个值的所有实体 过滤器和排序顺序中命名的每个属性,以及哪些属性 属性值符合所有指定的过滤条件。
我尝试按published_at
排序查询,这似乎是具有最接近created
的含义的属性。