Document DBのクエリ制限は、以下の書かれてます。
翻訳は以下。
https://blogs.technet.microsoft.com/jpitpro/2015/10/05/azure-documentdb/
- ANDは20個まで
- ORは10個まで
- JOINは5個まで
- UDFは2個まで
- クエリページ毎に取得できるアイテムが無制限になった
まあ、通常使うキモはAND、OR、JOINの数でしょうか。JOINの数が5までってことは、6階層以上の深さをもつスキーマにクエリかけられないことを意味してる気がします。
あと地味にひっかかったが、JOINした要素に対してORDER BYがサポートされていないことでした。
{ "id": "hoge", "items": [ { "no": 3, "name": "hoge" }, { "no": 2, "name": "fuga" }, { "no": 1, "name": "baka" } ] }
こんなデータがあったとき、
SELECT item.name FROM c JOIN item in c.items WHERE c.id = "hoge" ORDER BY item.no
Noでソートできません。 Order-by over correlated collections is not supported
というエラーで怒られます。stackoverflow でもちらほら似た質問が散見されますからみな同じところで引っかかるんでしょうね。