我有以下mongodb集合:
Channels [
{
_id:'1'
members:[
{
_id:'1'
skipRounds:1
},
{
_id:'2'
skipRounds:3
},
]
},
{
_id:'2'
members:[
{
_id:'1'
skipRounds:3
},
{
_id:'2'
skipRounds:5
},
]
},
]
我试图为特定频道中的特定用户设置skipRounds上的值。
例如:我试图在ID为1到10的频道中为ID为2的用户设置skipRounds
db.Channels.updateOne({
'_id':'1',
'members._id' : '2'
}, {
$set: {'users.$.skipRounds': 10}
})
但它似乎不起作用。有人知道为什么吗?
最佳答案
要更新嵌套数组中的元素,请尝试以下操作:
db.Channels.update(
{"_id" : "1", "members._id" : "2"},
{
$set : {"members.$.skipRounds" : 10}
})
关于node.js - 为什么我的mongodb更新操作不起作用? (Node.js),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58412953/