我正在努力研究如何从CosmosDb存储过程中的过滤器查询中检索属性值。我敢肯定这一定相对简单,但似乎无法找到合适的组合。
var result = __.chain()
.filter(function(doc) {
return doc.id ==="1stDocId";
})
.map(function(doc) {
return {
id: doc.id,
propertyA: doc.propertyA
};
})
.value();
if(!result.isAccepted) throw new Error("The call was not accepted");
使用上面的代码或类似代码,我想要检索propertyA的值,然后在第二个查询中使用它,依此类推。 此时使用response.setBody返回 result 的值,我可以看到它位于数组中,但无法找到正确的代码来访问它。 结果[0] .PropertyA,结果[0] [0] .PropertyA不起作用,有人能指出我正确的方向吗?
我能够使用queryDocuments函数执行此类操作,但最终我的存储过程需要执行5或6个select语句,操纵两者之间的检索值。利用嵌套回调看起来非常混乱,一旦你有几个级别,就会很混乱。有没有更好的办法? 感谢。
答案 0 :(得分:0)
我放弃了,并使用嵌套回调和'queryDocuments'编写了该过程。因为在某一点上我的过程需要一个switch语句,它执行数据库查找或提供硬值,我不得不在db查找分支回调中复制其余的queryDocument调用,这感觉是完全错误的。 但是,虽然不漂亮,但我的存储过程现在可以正常工作,在所有情况下都会返回正确的值。