簡體   English   中英

MONGODB 更新 object 內部的值,內部數組,內部集合

[英]MONGODB update value inside object, inside array, inside collection

我在 Mongodb 上有這個集合:

[
  {
    _id: new ObjectId("630954ebdfec2657ac6086e5"),
    productos: [ [Object], [Object] ],
    timestamp: 2022-08-26T23:19:07.321Z,
    __v: 0
  }
]

我想知道如何對“productos”數組中的“cantidad”值求和。

“productos”看起來像這樣:

[
  {
    nombre: 'sandia',
    foto: 'https://cdn3.iconfinder.com/data/icons/fruits-52/150/icon_fruit_melancia-128.png',
    precio: 12,
    cantidad: 1,
    _id: new ObjectId("62fc0daf755a14dbac449005")
  },
  {
    nombre: 'frutillas',
    foto: 'https://cdn3.iconfinder.com/data/icons/fruits-52/150/icon_fruit_morango-128.png',
    precio: 15,
    cantidad: 1,
    _id: new ObjectId("62fc14badcaffc2a39ab7b46")
  }
]

任何幫助,將不勝感激。

快樂編碼!

您沒有指定您希望 output 看起來像什么,所以這只是"$project"一個帶有總和的新字段。

db.collection.aggregate([
  {
    "$project": {
      "cantidadSum": {
        "$sum": "$productos.cantidad"
      }
    }
  }
])

示例 output:

[
  {
    "_id": ObjectId("630954ebdfec2657ac6086e5"),
    "cantidadSum": 2
  }
]

mongoplayground.net上試試。

哦對不起! 我想要的 output 將是 object 與“cantidad”(西班牙語數量)總和 + 1

對不起我的英語!

像這樣修改數量的東西:

{nombre: 'sandia',
foto: 'https://cdn3.iconfinder.com/data/icons/fruits-52/150/icon_fruit_melancia-128.png',
precio: 12,
cantidad: 2,
_id: new ObjectId("62fc0daf755a14dbac449005")}

問候!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM