MongoDB データベースに次のドキュメントがあります。
{"stats": [2,5,1]}
{"stats": [1,9,2]}
stats
ここで、値2
と1
(この順序で)を含む -arrayを持つドキュメントを見つけたいと思います。したがって、最初のドキュメントのみが検出されます。単純な$all
クエリでは、両方のドキュメントが返されます。MongoDB のクエリ言語でこれを行う方法はありますか?
または、次のドキュメントを想定します。
{"stats": [{"val": 2, "position": 0},{"val": 5, "position": 1},{"val": 1, "position": 2}]}
{"stats": [{"val": 1, "position": 0},{"val": 9, "position": 1},{"val": 2, "position": 2}]}
同じ質問 :-) これらのドキュメントにクエリを実行して、値 2 の後に値 1 が続くドキュメントのみを返す方法はありますか (position-value を考慮に入れる)。
おそらく$where
-queryを使用できますが、ドキュメントによると、これは推奨される方法ではありません(そして遅いです):-)