文档菜单
文档首页
/
MongoDB 手册
/ / / /

$min

本页内容

  • 定义
  • 行为
  • 示例
$min

$min运算符更新字段的值为指定的值,前提是指定的值小于该字段的当前值。$min运算符可以使用BSON比较顺序来比较不同类型的数据。BSON比较顺序.

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

要指定内嵌文档或数组中的<field>,请使用点符号。

从 MongoDB 5.0 开始,更新运算符按字典顺序处理具有基于字符串的名称的文档字段。具有数字名称的字段按数字顺序处理。有关详细信息,请参阅更新运算符行为

如果字段不存在,$min运算符将该字段设置为指定的值。

对于不同类型值之间的比较,例如数字和null,$min使用BSON比较顺序

从 MongoDB 5.0 开始,mongod在使用类似于$min的更新运算符并带有空操作数表达式({ })时不再引发错误。空更新不会引起更改,也不会创建任何操作日志条目(意味着该操作是no-op)。

创建scores集合

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

当前文档的lowScore的值为200。下面的操作使用$min200与指定的值150进行比较,并将lowScore的值更新为150,因为150小于200

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

scores集合现在包含以下修改后的文档

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

下一个操作没有效果,因为字段lowScore的当前值,即150,小于250

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

本页内容