$comment
定義
動作
$comment
のクエリ述語やdb.collection.updateOne()
$match
集計パイプライン の ステージなど、クエリ述語を持つ任意の式で を使用できます。例については、「集計式へのコメントの添付 」を参照してください。
例
にコメントを添付します find
次の例では、 操作に$comment
find()
を追加します。
db.records.find( { x: { $mod: [ 2, 0 ] }, $comment: "Find even values." } )
データベースプロファイラーが有効な場合、次の出力にはsystem.profile
コレクション内のコメントが表示されます。
{ "op" : "query", "ns" : "test.records", "command" : { "find" : "records", "filter" : { "x" : { "$mod" : [ 2, 0 ] }, "$comment" : "Find even values." }, "comment" : "Find even values.", ...
データベースプロファイラー レベル が 2 に設定され、 slowms が 0 ミリ秒に設定されている場合は、 MongoDB ログ にコメントも表示されます。このdb.setProfilingLevel()
コマンドは、次の 2 つのパラメータを設定します。
db.setProfilingLevel(2, 0)
前のdb.records.find()
の例のコメントは、 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." ...
集計式へのコメントの添付
クエリ述語を持つ任意の式で$comment
を使用できます。
次の例では、 ステージで$comment
$match
演算子を使用して操作を明確にしています。
db.records.aggregate( [ { $match: { x: { $gt: 0 }, $comment: "Don't allow negative inputs." } }, { $group : { _id: { $mod: [ "$x", 2 ] }, total: { $sum: "$x" } } } ] )