有没有办法在mongodb中使用多个条件查询文档中的数组字段?示例文档:
{
'title': 'A document title',
'array_element': [
{
'some_identifier': 'abcdefg',
'value': 10
},
{
'some_identifier': 'hijklmnop',
'value': 5
},
{
...etc...
}
]
}
我需要查询集合以查找特定标识符的最低值,但是这些值与其他值一起存储在数组中。我知道我可以查询集合来查找包含具有最低值的数组元素的文档,其中包含与标识符匹配的数组元素,但我无法确定特定的数组元素是否与这两个条件都匹配。有没有办法有效地做到这一点?
答案 0 :(得分:5)
您可以使用$elemMatch
operator来完成此操作,例如
foo.find( { "array_element" :
{ $elemMatch : { 'some_identifier' : 'abcdefg', 'value' : 8 } } } );