Docs Menu
Docs Home
/
MongoDB マニュアル
/ / / /

$comment

項目一覧

  • 定義
  • 動作
$comment

$commentクエリ演算子は、クエリ述語を持つ任意の式にコメントを関連付けます。

コメントは profileログに伝達されるため、コメントを追加するとプロファイル データの解釈と追跡が容易になります。

$comment 演算子の形式は次のとおりです。

db.collection.find( { <query>, $comment: <comment> } )

$commentのクエリ述語やdb.collection.updateOne() $match集計パイプライン の ステージなど、クエリ述語を持つ任意の式で を使用できます。例については、「集計式へのコメントの添付 」を参照してください。

次の例では、 操作に$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" } } }
] )

Tip

以下も参照してください。

戻る

その他

項目一覧