javascript - 如何通过 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 字段,谢谢
解决方案
它将类似于以下内容:
//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 })
但是,您可能需要遍历商品清单。
推荐阅读
- typescript - 从 fp-ts 中的项目数组中删除选项
- android - 未找到处理 Intent { } 的 Activity
- javascript - 在哪些情况下 element.parentElement 或 element.parentNode 在 HTML DOM 中为 null?
- swift - 如何在 Big Sur NSStatusBar 上正确绘制 NSProgressIndicator?
- r - 如何在 R 中绘制每季度给出的数据框?
- python - 在给定 n、e 和 d 的情况下,分解 RSA 素数 p 和 q。SageMath 实现。我收到一个错误
- javascript - 浏览器下载 .csv 文件而不是在新窗口中打开内容
- r - 求解 R 中的未知值
- c# - 控制器不接收来自 json 的数据
- python - 如何删除文本文件中的某些字符并在 python 中在它们之间创建一条线