繁体   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