문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / / /

$comment

이 페이지의 내용

  • 정의
  • 행동
  • 예제
$comment

$comment 쿼리 연산자는 쿼리 조건자를 사용하는 모든 표현식에 주석을 연결합니다.

댓글은 profile 로그로 전파되므로 댓글을 추가하면 프로필 데이터를 더 쉽게 해석하고 추적할 수 있습니다.

$comment 연산자의 형식은 다음과 같습니다.

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

db.collection.updateOne() 또는 집계 파이프라인$match 단계의 쿼리 조건자와 같은 쿼리 조건자를 취하는 표현식과 함께 $comment를 사용할 수 있습니다. 예시는 집계 표현식에 주석 첨부하기를 참조하세요.

다음 예시에서는 $commentfind() 작업에 추가합니다.

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가 0ms로 설정되어 있는 경우, MongoDB 로그에도 주석이 표시됩니다. 이 db.setProfilingLevel() 명령은 다음 두 매개 변수를 설정합니다.

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를 쿼리 조건자를 사용하는 모든 표현식과 함께 사용할 수 있습니다.

다음 예시에서는 작업을 명확히 하기 위해 $match 단계에서 $comment 연산자를 사용합니다.

db.records.aggregate( [
{ $match: { x: { $gt: 0 }, $comment: "Don't allow negative inputs." } },
{ $group : { _id: { $mod: [ "$x", 2 ] }, total: { $sum: "$x" } } }
] )
← 기타 쿼리 연산자
$rand →

이 페이지의 내용