假设我有一个类似于以下内容的mongo文档:
{
'foo':1
'listOfLists' : [ [1,2],[3,4] ]
}
(是的,我知道这不是它"真的"看起来但是它应该足够简单以便解释。)
如果我想编写一个查询以查看listsOfLists列表对象是否包含[3,4]的组合的查询,我该怎么做呢?
我可以做点什么吗
collection.find({'listsOfLists' : {'$elemMatch' : [3,4] } })
答案 0 :(得分:1)
collection.find({ 'listsOfLists': [3,4] }).
它只是一个"直接匹配"在物业上。 MongoDB将自动查看每个数组元素。你在这里不需要$elemMatch
。
如果您要使用它,则需要一个运算符表达式,例如$eq
:
collection.find({ 'listsOfLists': { '$elemMatch': { '$eq': [3,4] } } }).
但这当然不是必需的,除非有两个或更多的"实际上需要在数组元素上匹配的条件。这是$elemMatch
实际上是什么。