📜  MongoDB - $position 修饰符(1)

📅  最后修改于: 2023-12-03 15:17:41.433000             🧑  作者: Mango

MongoDB - $position 修饰符

在 MongoDB 中,使用 $position 修饰符可以指定一个数组元素的位置,并在查询或更新数组时使用该位置。

语法
{ <array> : { $elemMatch: { $position: <num> } } }
参数说明
  • <array>:数组字段的名称。
  • <num>:数组元素的位置。
示例

假设有如下文档:

{
  "_id": 1,
  "scores": [ 10, 20, 30, 40, 50 ]
}

如果想查询 scores 数组中第三个元素(即 30),可以使用以下查询:

db.students.find({ "scores": { $elemMatch: { $position: 2 } } })

返回:

{ "_id": 1, "scores": [ 10, 20, 30, 40, 50 ] }

如果想更新 scores 数组中第三个元素的值为 35,可以使用以下更新操作:

db.students.update({ "scores": { $elemMatch: { $position: 2 } } }, { $set: { "scores.$": 35 } })

注意,这里需要使用 $ 占位符来指定需要更新的位置。

以上就是 MongoDB 中 $position 修饰符的使用介绍。