我想將唯一的“sku”:“abcd”“recived”:34,更新為“recived”: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"
uj5u.com熱心網友回復:
您可以使用.update()
方法 with$set
來更新值。
db.collection.update({
"stock.sku": "abcd"
},
{
"$set": {
"stock.$.recived": 50
}
})
你可以在這里查看 mongo 游樂場
uj5u.com熱心網友回復:
終于找到了答案在線閱讀后感謝幫助我附上代碼也許對其他人有幫助
await User.updateOne(
{
Stock: {
$elemMatch: {
sku: req.body.sku
}
}
}, {
$set: {
"Stock.$.recived": addrecived
}
}
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470261.html
上一篇:如何在mongodb(mongoose)中平均一個陣列的屬性
下一篇:如何優化MongoDB查詢?