$comment
Nesta página
Definição
$comment
O operador de query
$comment
associa um comentário a qualquer expressão que receba um predicado de query.Como os comentários se propagam para o registro
profile
, adicionar um comentário pode tornar os dados do seu perfil mais fáceis de interpretar e rastrear.O operador
$comment
tem o formato:db.collection.find( { <query>, $comment: <comment> } )
Comportamento
Você pode usar o $comment
com qualquer expressão que use um predicado de query, como o predicado de query em db.collection.updateOne()
ou no estágio $match
do pipeline de agregação. Para obter um exemplo, consulte Anexar um comentário a uma expressão de agregação.
Exemplos
Anexar um comentário a find
O exemplo a seguir adiciona um $comment
a uma operação find()
:
db.records.find( { x: { $mod: [ 2, 0 ] }, $comment: "Find even values." } )
Se o analisador de banco de dados estiver habilitado, a seguinte saída mostrará o comentário na coleção system.profile
:
{ "op" : "query", "ns" : "test.records", "command" : { "find" : "records", "filter" : { "x" : { "$mod" : [ 2, 0 ] }, "$comment" : "Find even values." }, "comment" : "Find even values.", ...
Os comentários também aparecerão no registro do MongoDB se o nível do profiler do banco de dados estiver definido como 2 e slowms estiver definido como 0ms. Este comando db.setProfilingLevel()
define estes dois parâmetros:
db.setProfilingLevel(2, 0)
O comentário do exemplo anterior db.records.find()
aparece da seguinte forma no registro do MongoDB:
{"t":{"$date":"2020-09-17T11:32:20.415-07:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"conn7","msg":"Slow query", "attr":{"type":"command","ns":"test.records","appName":"MongoDB Shell","command":{"find":"records","filter":{"x":{"$mod":[2.0,0.0]}, "$comment":"Find even values."},"comment":"Find even values." ...
Anexar um comentário a uma expressão de aggregation
Você pode usar o $comment
com qualquer expressão que tenha um predicado de query.
O exemplo a seguir usa o operador $comment
no estágio $match
para esclarecer a operação:
db.records.aggregate( [ { $match: { x: { $gt: 0 }, $comment: "Don't allow negative inputs." } }, { $group : { _id: { $mod: [ "$x", 2 ] }, total: { $sum: "$x" } } } ] )