我正在使用 .NET SDK 从 api-app 查询我的 docDb,并且在选择时我得到了这些我不想得到的标签。基本上我想知道是否可以删除自动生成的标签 _Etag、_ts、_rid、_attachments 等?
这背后的原因是我想将来自 Select 查询的 JSON 输出转换为 XML,是否允许 _tags?如果有人有不同的方法,请告诉我!
我正在使用 .NET SDK 从 api-app 查询我的 docDb,并且在选择时我得到了这些我不想得到的标签。基本上我想知道是否可以删除自动生成的标签 _Etag、_ts、_rid、_attachments 等?
这背后的原因是我想将来自 Select 查询的 JSON 输出转换为 XML,是否允许 _tags?如果有人有不同的方法,请告诉我!
更新
使用时无法自动抑制这些SELECT * FROM...
。以下是有关如何处理此问题的一些选项:
obj.Remove("_rid");
.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 前缀(如果您将其省略)。