2016-11-18 10 views
3

ネストされたドキュメントのARRAY_CONTAINS機能はどのドキュメントにも一致しないようです。Azure DocumentDB ARRAY_CONTAINSのネストされたドキュメント

たとえば、次の簡単なクエリをAzure DocumentDB Query Playgroundで実行すると、ネストされたドキュメントがこのクエリと一致する必要がある場合でも、結果は返されません。スタックオーバーフローの

SELECT * 
FROM food 
WHERE ARRAY_CONTAINS(food.tags.name, "blueberries") 

この過去questionも、ネストされたクエリのこの種のが有効であることをinfered。

ありがとう

答えて

4

ARRAY_CONTAINSの最初の引数は配列でなければなりません。たとえば、この場合、food.tagsは引数として有効ですが、food.tags.nameは有効ではありません。

どちらも、次のDocumentDBクエリは有効であり、あなたが探しているものかもしれません:

SELECT food 
FROM food 
JOIN tag IN food.tags 
WHERE tag.name = "blueberries" 

それとも

SELECT food 
FROM food 
WHERE ARRAY_CONTAINS(food.tags, { name: "blueberries" }) 
+0

が、これは私がたぶん:) – GeorgCantor

+1

探していたもので、あなたにAravindありがとう以前の回答を更新する価値があります。最初のパラメータとして配列なしでARRAY_CONTAINS関数を使用しているので、http://stackoverflow.com/questions/31022740/documentdb-query-on-nested-document-and-root-levelを更新する価値があります。私はそれを直接コメントするほどの評判はありません。 – GeorgCantor

+0

ありがとうございます - 以前の回答を修正しました –

関連する問題