新查询! :)
我在我的集合中定义了以下 Pre trigger ,在那里我获得了主Document ID并将其放在同一Document中的内部Document中。现在我如何获得主文档的SelfLink。这是我到目前为止尝试过的,没有成功?
function updateMetadata() {
var context = getContext();
var request = context.getRequest();
var item = request.getBody();
var typeName = item["typename"];
item[typeName].mainDocId = item.id; // works fine
//item[typeName].objSelfLink = item._self; //does not work
//item[typeName].objSelfLink = item.self; //does not work
//item[typeName].objSelfLink = item.selflink; //does not work
//item[typeName].objSelfLink = item.Self; //does not work
//item[typeName].objSelfLink = item.selfLink; //does not work
request.setBody(item);
}
Id得到的设置很好。这是因为我在 Pre触发器中执行此操作,并且 Pre触发器中不存在/可访问SelfLink? 以下documentation确实说明了:
The request object can be used to manipulate the request message associated with the operation.
Here, the pre-trigger is being run with the creation of a document,
and the request message body contains the document to be created in JSON format.
但是,如果没有生成SelfLink,我会假设也不会在 Pre trigger 中生成Id。有人可以指点我的任何相关文件吗?
答案 0 :(得分:0)
你是对的。 _self尚未提供,因为该记录尚未写入。 ID是在所有SDK中的客户端生成的。
如果要访问_self链接,请考虑后触发,即在写入记录之后。