如何更新数组中的子对象(更新)MongoDB
how to update sub object in array (update) MongoDB
我只想更新 where "sku": "abcd"
这
“收到”:34,
到
“收到”:50,
我尝试使用 updateOne(
)
但不幸的是我得到了错误
{
"_id": {
"$oid": "62684e70e89eca781cc4f384"
},
"user": "ronen",
"roles": {
"User": 2001,
"Editor": 1984,
"Admin": 5150
},
"Stock": [
{
"sku": "777",
"productname": "rone4n",
"sendout": 5,
"recived": 3,
"totalinstock": 55,
"location": "A770770",
"_id": {
"$oid": "626a9bb384cd350c6e784794"
}
},
{
"sku": "abcd",
"productname": "ron",
"sendout": 43,
"recived": 34,
"totalinstock": 444,
"location": "fff",
"_id": {
"$oid": "626adab728fcc6005453a481"
}
}
],
}
我更喜欢MongoDB这边
我希望得到这样的东西
"sku": "abcd",
"productname": "ron",
"sendout": 43,
"recived": 50,
"totalinstock": 444,
"location": "fff",
"_id": {
"$oid": "626adab728fcc6005453a481"
您可以使用 .update()
方法和 $set
来更新值。
db.collection.update({
"stock.sku": "abcd"
},
{
"$set": {
"stock.$.recived": 50
}
})
我在最后找到了答案
在线阅读后
感谢帮助过的人
我附上代码
也许它会对其他人有所帮助
await User.updateOne(
{
Stock: {
$elemMatch: {
sku: req.body.sku
}
}
}, {
$set: {
"Stock.$.recived": addrecived
}
}
)
我只想更新 where "sku": "abcd" 这 “收到”:34, 到 “收到”:50,
我尝试使用 updateOne(
) 但不幸的是我得到了错误
{
"_id": {
"$oid": "62684e70e89eca781cc4f384"
},
"user": "ronen",
"roles": {
"User": 2001,
"Editor": 1984,
"Admin": 5150
},
"Stock": [
{
"sku": "777",
"productname": "rone4n",
"sendout": 5,
"recived": 3,
"totalinstock": 55,
"location": "A770770",
"_id": {
"$oid": "626a9bb384cd350c6e784794"
}
},
{
"sku": "abcd",
"productname": "ron",
"sendout": 43,
"recived": 34,
"totalinstock": 444,
"location": "fff",
"_id": {
"$oid": "626adab728fcc6005453a481"
}
}
],
}
我更喜欢MongoDB这边
我希望得到这样的东西
"sku": "abcd",
"productname": "ron",
"sendout": 43,
"recived": 50,
"totalinstock": 444,
"location": "fff",
"_id": {
"$oid": "626adab728fcc6005453a481"
您可以使用 .update()
方法和 $set
来更新值。
db.collection.update({
"stock.sku": "abcd"
},
{
"$set": {
"stock.$.recived": 50
}
})
我在最后找到了答案 在线阅读后 感谢帮助过的人 我附上代码 也许它会对其他人有所帮助
await User.updateOne(
{
Stock: {
$elemMatch: {
sku: req.body.sku
}
}
}, {
$set: {
"Stock.$.recived": addrecived
}
}
)