{
"_id": "xPBc4By8FemDwTPqH",
"u": {
"_id": "6PoZawHZcQz4Gwzcv",
"username": "michael"
},
"friends": [
{
"u": {
"_id": "eGqDjAjjtYADbuSnn",
"username": "michael",
"name": "michael"
}
},
{
"u": {
"_id": "k4gKCGwYryXDMMHvs",
"username": "joyce",
"name": "joyce"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想更新"friends.u.username"的名称:"michael"的名字是"你好",我需要怎么做.
chr*_*dam 51
在更新中将$set操作符与$位置操作符一起应用以更改name字段.
该$位置操作者将确定正确的元素数组中没有明确指定数组中元素的位置更新,因此您的最终更新语句应该是这样的:
db.collection.update(
{ "friends.u.username": "michael" },
{ "$set": { "friends.$.u.name": "hello" } }
)
Run Code Online (Sandbox Code Playgroud)
您可以使用 $set 运算符。
> db.test.update({"friends.u._id":"eGqDjAjjtYADbuSnn"},{$set:{"friends.$.u.name":"hello"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32572 次 |
| 最近记录: |