As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
$elemMatch
O $elemMatch operador no Amazon DocumentDB é usado para consultar um campo de matriz e retornar documentos em que pelo menos um elemento na matriz corresponda aos critérios especificados. Esse operador é particularmente útil quando você tem estruturas de dados complexas com matrizes aninhadas ou documentos incorporados.
A versão 2.0 do Planner adicionou suporte de índice para$elemMatch.
Parâmetros
-
field: o campo de matriz a ser consultado. -
query: os critérios para comparar com os elementos da matriz.
Usando $elemMatch dentro de uma $all expressão
Consulte Usar $elemMatch dentro de uma expressão $all as limitações relacionadas ao uso do $elemMatch operador em uma $all expressão.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra como usar o $elemMatch operador para encontrar documentos em que a parts matriz tenha pelo menos um elemento que corresponda aos critérios especificados.
Crie documentos de amostra
db.col.insertMany([ { _id: 1, parts: [{ part: "xyz", qty: 10 }, { part: "abc", qty: 20 }] }, { _id: 2, parts: [{ part: "xyz", qty: 5 }, { part: "abc", qty: 10 }] }, { _id: 3, parts: [{ part: "xyz", qty: 15 }, { part: "abc", qty: 100 }] }, { _id: 4, parts: [{ part: "abc", qty: 150 }] } ]);
Exemplo de consulta
db.col.find({ parts: { "$elemMatch": { part: "xyz", qty: { $lt: 11 } } } })
Saída
{ "_id" : 1, "parts" : [ { "part" : "xyz", "qty" : 10 }, { "part" : "abc", "qty" : 20 } ] }
{ "_id" : 2, "parts" : [ { "part" : "xyz", "qty" : 5 }, { "part" : "abc", "qty" : 10 } ] }
Exemplos de código
Para ver um exemplo de código para usar o $elemMatch comando, escolha a guia do idioma que você deseja usar: