DocumentDB:可以嵌套查询吗?

DocumentDB: Possible to nest queries?

我想查看用户所在位置半径30公里内的partner.ids,根据这些信息我想查看这些合作伙伴提供哪些产品。

我可以像下面这样用 DocumentDB 嵌套查询吗:

SELECT TOP 50 * FROM products doc WHERE doc._flags.published = true 
AND ARRAY_CONTAINS(doc.partner.pk, 
    SELECT VALUE doc.partner.pk FROM promo doc 
    JOIN shop IN doc.shops WHERE doc._flags.published = true AND doc._flags.deleted = false 
    AND ST_DISTANCE(shop._location, {"type": "Point", "coordinates":[52.520007, 13.404954]}) < 30000)

还是我必须进行两个单独的查询?

DocumentDB 不支持嵌套查询。您必须从最低级别到最高级别一次执行一个。请注意,从性能的角度来看,这基本上就是传统 SQL 数据库所做的,因此您几乎可以一样快......尽管使用 DocumentDB 的工作要多一些。