我正在使用.NET SDK从api-app查询我的docDb,在选择时我会得到这些我不喜欢的标签。 基本上我想知道是否可以删除自动生成的标签_Etag,_ts,_rid,_attachments等?
这背后的原因是我想将Select查询的JSON输出转换为XML,不允许使用_tags吗?如果有人有不同的方法,请告诉我!
答案 0 :(得分:5)
<强>更新强>
使用SELECT * FROM...
时无法自动抑制这些。以下是有关如何处理此问题的一些选项:
obj.Remove("_rid");
for .NET,delete obj._rid
收到Node.js,或者将键/值对复制到一个新的动态对象,跳过以“ _”。我现在相信使用UDF是最好的方法。
function stripUnderscoreFields (o) {
output = {};
for (key in o) {
value = o[key];
if (key.indexOf('_') !== 0) {
output[key] = value;
}
}
return output
}
然后在如下查询中使用UDF:
SELECT VALUE udf.stripUnderscoreFields(c) FROM collection c
注意,上面示例中的关键字VALUE
会抑制在每个文档之前添加的$ 1前缀。