문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

$min

이 페이지의 내용

  • 정의
  • 행동
  • 예제
$min

$min 지정된 값이 필드의 현재 값 보다 작은 경우 필드 값을 지정된 값으로 업데이트합니다. 연산자는 $min BSON비교 순서를 사용하여 서로 다른 유형의 값을 비교할 수 있습니다.

{ $min: { <field1>: <value1>, ... } }

포함된 문서나 배열에 <field> 기호를 지정하려면 점 표기법을사용하십시오.

MongoDB 5.0부터 업데이트 연산자는 문자열 기반 이름이 있는 문서 필드를 사전순으로 처리합니다. 숫자 이름이 있는 필드는 숫자 순서대로 처리됩니다. 자세한 내용은 업데이트 운영자 동작을 참조하십시오.

필드가 존재하지 않는 경우 $min 연산자는 필드를 지정된 값으로 설정합니다.

숫자와 null과 같이 서로 다른 유형의 값을 비교하기 위해 $minBSON 비교 순서를 사용합니다.

MongoDB 5 부터 시작.0, mongod 는 빈 피연산자 표현식( { } )과 함께 $min 과 같은 업데이트 연산자를 사용할 때 더 이상 오류를 발생시키지 않습니다. 빈 업데이트는 변경 사항이 없으며 oplog 항목이 생성되지 않습니다(즉, 작업이 작동하지 않음을 의미합니다).

scores 컬렉션을 생성합니다.

db.scores.insertOne( { _id: 1, highScore: 800, lowScore: 200 } )

lowScore 문서의 의 현재 값은 200 입니다. 다음 작업은 를 $min 사용하여 200 150 를 지정된 값 과 lowScore 비교하고 150150 보다 작으므로 의 값을 로 업데이트합니다.200

db.scores.updateOne( { _id: 1 }, { $min: { lowScore: 150 } } )

이제 scores 컬렉션에 다음과 같이 수정된 문서가 포함되어 있습니다.

{ _id: 1, highScore: 800, lowScore: 150 }

lowScore 필드의 현재 값, 즉 150250보다 작으므로 다음 작업은 효과가 없습니다.

db.scores.updateOne( { _id: 1 }, { $min: { lowScore: 250 } } )

문서가 scores 컬렉션에서 변경되지 않은 상태로 유지됩니다.

{ _id: 1, highScore: 800, lowScore: 150 }

tags 컬렉션을 생성합니다.

db.tags.insertOne(
{
_id: 1,
desc: "crafts",
dateEntered: ISODate("2013-10-01T05:00:00Z"),
dateExpired: ISODate("2013-10-01T16:38:16Z")
}
)

다음 작업은 dateEntered 필드의 현재 값인 ISODate("2013-10-01T05:00:00Z")를 지정된 날짜 new Date("2013-09-25")와 비교하여 필드 업데이트 여부를 결정합니다.

db.tags.updateOne(
{ _id: 1 },
{ $min: { dateEntered: new Date("2013-09-25") } }
)

이 작업은 dateEntered 필드를 업데이트합니다.

{
_id: 1,
desc: "crafts",
dateEntered: ISODate("2013-09-25T00:00:00Z"),
dateExpired: ISODate("2013-10-01T16:38:16Z")
}

다음도 참조하세요.

← $inc
$max →

이 페이지의 내용