我已經絕望了幾天,因為我正在尋找一種方法來更新陣列內的物件這是我的代碼的簡短摘錄
{
"_id": {
"$oid": "62684e70e89eca781cc4f384"
},
"user": "ronen",
"roles": {
"User": 2001,
"Editor": 1984,
"Admin": 5150
},
"password": "$2b$10$pO52RJD0zgFHDW6BBCo5iu3A5Lx0TCbCbzgjvc3FxxQZGUjblSPaK",
"Stock": [
{
"sku": "777",
"productname": "rone4n",
"sendout": 5,
"recived": 3,
"totalinstock": 55,
"location": "A770770",
"_id": {
"$oid": "626a9bb384cd350c6e784794"
}
},
{
"sku": "ex77xee",
"productname": "ron",
"sendout": 43,
"recived": 34,
"totalinstock": 444,
"location": "fff",
"_id": {
"$oid": "626adab728fcc6005453a481"
}
}
],
}
我想回傳唯一的“sku”:“ex77xee”icant undersdet 如何在陣列中搜索物件
{
"sku": "ex77xee",
"productname": "ron",
"sendout": 43,
"recived": 34,
"totalinstock": 444,
"location": "fff",
"_id": {
"$oid": "626adab728fcc6005453a481"
}
我更喜歡在 MongoDB 方面執行此操作,我嘗試使用 findONE 但我不成功
uj5u.com熱心網友回復:
您可以運行此查詢,您可以在此處閱讀有關$elemMatch 的更多資訊
db.collection.find({
stock: {
$elemMatch: {
sku: "ex77xee"
}
}
},
{
"stock.$": 1,
"user": 1, //<-- You can remove this, if you don't want these values
"roles": 1, //<-- You can remove this, if you don't want these values
"password": 1 //<-- You can remove this, if you don't want these values
})
你可以在這里查看 mongo 游樂場
$elemMatch
非常通用,如果需要,您可以在以后添加更多條件進行過濾
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470271.html