admin管理员组文章数量:1611135
一、$position修饰符指定使用$push操作符插入数组中的数据元素的位置,并且必须和$each一起使用;使用位置修饰符的格式如下:
{
$push: {
<field>: {
$each: [ <value1>, <value2>, ... ],
$position: <num>
}
}
}
如果num是负数或者0插入的数据就放到数组的开始位置,如果num大于或者等于数组的 长度则不对数组做任何 修改直接放入到数组的 最后位置。
二、将元素插入到数组开始的位置
以下是students集合包含下面的文档:
{ "_id" : 1, "scores" : [ 100 ] }
以下操作会将元素放到数组的开始位置:
db.students.update(
{ _id: 1 },
{
$push: {
scores: {
$each: [ 50, 60, 70 ],
$position: 0
}
}
}
)
操作的结果是:
{ "_id" : 1, "scores" : [ 50, 60, 70, 100 ] }
三、将元素插入到数组的中间位置
考虑students集合包含如下文档集合:
{ "_id" : 1, "scores" : [ 50, 60, 70, 100 ] }
以下操作会更新scores字段并将20、30元素放入索引为2的位置
db.students.update(
{ _id: 1 },
{
$push: {
scores: {
$each: [ 20, 30 ],
$position: 2
}
}
}
)
操作结果是:
{ "_id" : 1, "scores" : [ 50, 60, 20, 30, 70, 100 ] }
版权声明:本文标题:Mongodb更新数组$position修饰符 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728607563a1165648.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论