我的 MongoDB 数据库中有以下文档:
{"stats": [2,5,1]}
{"stats": [1,9,2]}
现在我想找到那些具有stats
包含值2
和1
(按该顺序)的 -array 的文档。所以应该只找到第一个文档。一个简单的$all
-query 将返回两个文档。有没有办法用 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 的文档(考虑位置值)?
我可能会使用$where
-query,但文档说这不是首选方式(而且速度很慢):-)