On this page
$min
在本页面
Definition
$min
- $min将字段的值更新为指定的值,如果指定的值小于或小于字段的当前值。 $min运算符可以使用BSON 比较 Sequences比较不同类型的值。
{ $min: { <field1>: <value1>, ... } }
要在嵌入式文档或数组中指定<field>
,请使用dot notation。
Behavior
如果该字段不存在,则$min运算符将该字段设置为指定的值。
为了比较不同类型的值(例如数字和空值),$min使用BSON 比较 Sequences。
Examples
使用$ min 比较数字
考虑集合scores
中的以下文档:
{ _id: 1, highScore: 800, lowScore: 200 }
该文档的lowScore
当前具有值200
。以下操作使用$min将200
与指定值150
比较,并由于150
小于200
而将lowScore
的值更新为150
:
db.scores.update( { _id: 1 }, { $min: { lowScore: 150 } } )
scores
集合现在包含以下修改后的文档:
{ _id: 1, highScore: 800, lowScore: 150 }
由于字段lowScore
的当前值,即150
小于250
,因此下一个操作无效:
db.scores.update( { _id: 1 }, { $min: { lowScore: 250 } } )
该文档在scores
集合中保持不变:
{ _id: 1, highScore: 800, lowScore: 150 }
使用$ min 来比较日期
考虑集合tags
中的以下文档:
{
_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.update(
{ _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")
}