gpt4 book ai didi

node.js - 如何从谷歌数据存储中祖先查询的返回对象中检索完整的键?

转载 作者:搜寻专家 更新时间:2023-10-31 23:07:59 25 4
gpt4 key购买 nike

我正在使用祖先查询从使用 nodejs 的谷歌数据存储中检索实体

query = datastore.createQuery(entity).hasAncestor(key)

key 在哪里

key = datastore.key([kind_name_of_parent, id_of_parent])

我能够检索对象,但我想获得检索到的对象的完整键,而返回的数组只包含返回的对象和 endCursor。

How can i get the complete key? or, can i get the complete key from the endCursor?

我的查询结果的示例是:

[{ modTS: 1481006473081,
modLoc:空,
modUid: 0,
createTS: 1481006473081 } ],
{ moreResults: 'NO_MORE_RESULTS',
endCursor: 'CloSVGoTc350ZXN0cHJvamVjdC0zN2ZiNnI9CxIEdXNlchiAgID409OICgw‌ LEgRzaW1zGICAgICAgIA‌ KDAsSDmNsaWVudFNldHR‌ wsdrfGICAgICA5NEKDBg‌ AIAA='}]

最佳答案

自数据存储客户端 v0.42.2现在使用 Symbol 引用 key 在数据存储客户端上 datastoreClient.KEY .

在 CLI 上运行它,如果它第一次不起作用再次运行它(第一次可能因为“最终一致性”而失败)。

'use strict';

const Datastore = require('@google-cloud/datastore'),
projectId = 'your-project-id',
datastore = Datastore({
projectId: projectId
}),
pkind = 'Foo',
pname = 'foo',
kind = 'Bar',
name = 'bar',
parentKey = datastore.key([pkind, pname ]),
entityKey = datastore.key([pkind, pname, kind, name]),
entity = {
key: entityKey,
data: {
propa: 'valuea'
}
},
query = datastore.createQuery().hasAncestor(parentKey).limit(5);

let complete = false;

datastore.save(entity).then(() => {
datastore.runQuery(query).then((res) => {
try {
console.log('parent key ', res[0][0][datastore.KEY].parent);
} finally {
complete = true;
}
});

});

function waitUntilComplete() {
if (!complete)
setTimeout(waitUntilComplete, 1000);
}

waitUntilComplete();

关于node.js - 如何从谷歌数据存储中祖先查询的返回对象中检索完整的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40996374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com