mongodb 占位符使用

原始数据:

1
2
3
4
5
6
7
8
9
10
	{
"_id": ObjectId("60640cb4434e855afc013a69"),
   "name": "阿杰",
"roles": [
{
"name": "管理员",
"permissions": [1,2]
}
]
}

期望提供的数据permissions=[3,4,5,6]追加到数据中的permissions中,修改后的数据如下:

1
2
3
4
5
6
7
8
9
10
{
"_id": ObjectId("60640cb4434e855afc013a69"),
"name": "贯流园",
"roles": [
{
"name": "管理员",
"permissions": [1,2,3,4,5,6]
}
]
}

占位符的使用

语法
1
2
3
4
5
6
7
8
db.collection.update(
{
array.objectName: value
},
{
array.$.field: value
}
)
示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
db.users.update(
{
_id: ObjectId("60640cb4434e855afc013a69"),
"roles.name": "管理员"
},
{
$set: {
name: "贯流园"
},
$push: {
"roles.$.permissions": {
$each: [4, 5, 6]
}
}
}
)
原创技术分享,您的支持将鼓励我继续创作