如何使用Loop在Cosmos-DB / Document-DB中执行存储过程?
我有JSON喜欢
{ "id": "58d99ca3231f13b9ecbbbca4", "50records": [ { "aomsLineNbr": 1, "licenses": [ { "productKey": "84fc2cde-9735-4cea-b97a-3cd627d3d0a5", "aid": "someAid" } ] } ] }
-
我想在
aid
的基础上取logging。 -
50record
可以有多个对象,licenses
也可以有多个对象。 - 我构build查询为
"SELECT * FROM orders o WHERE o['50records'][0].licenses[0].aid='someAid'"
- 我怎样才能循环这
50records
和licenses
来search所有可用的对象?
以下是我的商店程序:
function getOrdersByAidCollection(aid){ var context = getContext(); var collection = context.getCollection(); var link = collection.getSelfLink(); var response = context.getResponse(); var query = "SELECT * FROM orders o WHERE o['50records'][0].licenses[0].aid='"+aid+"'"; var isAccepted = collection.queryDocuments(collection.getSelfLink(),query, function (err, feed, options) { if (err) { return errorResponse(400, err.message); } if (!feed || !feed.length){ return errorResponse(400, "no orders doc found"); }else { getContext().getResponse().setBody(JSON.stringify(feed)); } }); if (!isAccepted){ return errorResponse(400, "The query was not accepted by the server."); } }
我在哪里以及如何放置循环?
任何帮助将是可观的!
谢谢
为什么你需要一个循环? 这看起来像一个查询问题。 你可以试试这样的查询:
SELECT VALUE r FROM orders c JOIN r in c["50records"] JOIN li in r.licenses WHERE li.aid = "someAid"
谢谢!