mongodb 如何更新数组中的对象?

yzckvree  于 2022-11-22  发布在  Go
关注(0)|答案(1)|浏览(133)

我的模型是:-

const mongoose = require("mongoose");

const supplierProduct = new mongoose.Schema(
  {
    _id: mongoose.Schema.Types.ObjectId, //convert id to normal form
    supplier_id: {
      type: String,
      required: true,
    },

    // _id: mongoose.Schema.Types.ObjectId, //convert id to normal form
    category_details: {
      type: Array,
      required: true,
      category_name: {
        type: String,
        required: true,
      },
      sub_category_name: {
        type: String,
        required: true,
      },
      Purchase_Price: {
        type: String,
        required: true,
      },
    },
  },
  { timestamps: true }
);

module.exports = mongoose.model("supplierProduct", supplierProduct);

我的路由器是:-

router.post("/supplierProduct-save", async (req, res) => {
  try {
   
    const supplier_id = req.body.supplier_id;
    const category_details = req.body.category_details;
   

  
  

    const supplierProduct_data = new supplierProduct({
      _id: mongoose.Types.ObjectId(),
      supplier_id: supplier_id,
      category_details: category_details,
    });

  
   

    const savedSupplierProduct = await datapart.save();
    res.status(200).json(savedSupplierProduct);
   
  } catch (err) {
    res.status(500).json(err);
  }
});

我正在获取输出:
供应商编号
category_details数组
0对象类别名称“大米”子类别名称“a3”采购价格“1000”创建时间2022年11月10日05:06:57.586+00:00更新时间2022年11月10日05:06:57.586+00:00 __v 0
供应商编号
category_details数组
0对象类别_名称“大米”子类别_名称“a3”采购_价格“1000”创建时间2022-11- 10 T05:06:57.586+00:00
在这里,我必须添加更多的类别细节使用供应商的id,我们如何才能实现这一点,请帮助。

iyr7buue

iyr7buue1#

您的分类详细信息不是一个数组,如果你想添加更多的分类详细信息转换为这个

category_details: [
     {
      type: Array,
      required: true,
      category_name: {
        type: String,
        required: true,
      },
      sub_category_name: {
        type: String,
        required: true,
      },
      Purchase_Price: {
        type: String,
        required: true,
      },
     }
   ],

相关问题