📅  最后修改于: 2023-12-03 15:17:41.433000             🧑  作者: Mango
在 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 修饰符的使用介绍。