首页 > 解决方案 > 如何通过 mongoose 将多个数组元素推送到 mongod

问题描述

有一个包含这些字段的 mongodb Schema,它的类型是数组

......
orderlist: [
    {
      id: String,
      price: Number,
      photo: String,
      name: String,
      num: Number
    }
  ]
......

前端给我发了这样的数据,这个数组有很多数组元素

goodslist:[
  {
    goodsid: '10001',
    goodsprice: 20,
    goodsphoto: '/goodsimg/upload_1843.jpg',
    goodsname: 'goods1',
    goodsnum: 2
  },
  {
    goodsid: '10002',
    goodsprice: 30,
    goodsphoto: '/goodsimg/upload_1845.jpg',
    goodsname: 'goods2',
    goodsnum: 4
  },
........(etc)
]

我该怎么做才能通过 mongoose 将这个“goodslist”数据推送到“orderlist”字段而不更改 mongodb 字段,谢谢

标签: javascriptarraysmongodbtypescriptmongoose

解决方案


它将类似于以下内容:

//Update order | create if does not exist
                        orderDB.updateOne({ _id: 'xxxx' }, {

                            //Push the list into order array
                            $push: {
                                orderlist: [{
                                    id: goodlist[0][0],
                                    price: goodlist[0][1],
                                    photo: goodlist[0][2],
                                    name: goodlist[0][3],
                                    num: goodlist[0][4],
                                }]
                            }

                            //Upsert => update / create
                        }, { upsert: true })

但是,您可能需要遍历商品清单。


推荐阅读