首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MongoDB中不使用Mongoose更新JSON数据

在MongoDB中不使用Mongoose更新JSON数据
EN

Stack Overflow用户
提问于 2021-06-14 19:53:21
回答 1查看 56关注 0票数 0

我正在尝试从我的客户端发布一些JSON数据,并更新我的MongoDB模型。但由于某种原因,我所有的文档字段都被清空了。我尝试过许多不同的JSON操作,但无法正确插入

productDataModel.js

代码语言:javascript
运行
复制
let mongoose = require('mongoose')

let productDataSchema = new mongoose.Schema({
    partName:String,
    partRevision:Number,
    jobNumber:Number,
    firstApproval:String,
    checFreq:Number,
    vis_attr_description1:String,
    vis_attr_description2:String,
    vis_attr_description3:String,
    vis_attr_description4:String,
    vis_attr_description5:String,
    vis_attr_description6:String,
    vis_attr_description7:String,
    vis_attr_description8:String,
    vis_attr_description9:String,
    vis_attr_description10:String,
    //mes-attr-description
    mes_attr_description1:String,
    mes_attr_description2:String,
    mes_attr_description3:String,
    mes_attr_description4:String,
    mes_attr_description5:String,
    mes_attr_description6:String,
    mes_attr_description7:String,
    mes_attr_description8:String,
    mes_attr_description9:String,
    mes_attr_description10:String,
    //mes-min
    mes_min1:Number,
    mes_min2:Number,
    mes_min3:Number,
    mes_min4:Number,
    mes_min5:Number,
    mes_min6:Number,
    mes_min7:Number,
    mes_min8:Number,
    mes_min9:Number,
    mes_min10:Number,
    //mes-max
    mes_max2:Number,
    mes_max1:Number,
    mes_max3:Number,
    mes_max4:Number,
    mes_max5:Number,
    mes_max6:Number,
    mes_max7:Number,
    mes_max8:Number,
    mes_max9:Number,
    mes_max10:Number,
    //vis-min
    vis_min1:Number,
    vis_min2:Number,
    vis_min3:Number,
    vis_min4:Number,
    vis_min5:Number,
    vis_min6:Number,
    vis_min7:Number,
    vis_min8:Number,
    vis_min9:Number,
    vis_min10:Number,
    //vis-mes
    vis_mes1:Number,
    vis_mes2:Number,
    vis_mes3:Number,
    vis_mes4:Number,
    vis_mes5:Number,
    vis_mes6:Number,
    vis_mes7:Number,
    vis_mes8:Number,
    vis_mes9:Number,
    vis_mes10:Number,
    //vis-max
    vis_max1:Number,
    vis_max2:Number,
    vis_max3:Number,
    vis_max4:Number,
    vis_max5:Number,
    vis_max6:Number,
    vis_max7:Number,
    vis_max8:Number,
    vis_max9:Number,
    vis_max10:Number,
})

module.exports = mongoose.model('productData', productDataSchema)

服务器接收的JSON数据

代码语言:javascript
运行
复制
{
  '${partName}': 'TEST',
  '${partRevision}': '${partRevision}',
  '${jobNumber}': '${jobNumber}',
  '${firstApproval}': '${firstApproval}',
  '${checkFreq}': '${checkFreq}',
  '${vis_attr_description1}': '${mes_attr_description1}',
  '${vis_mes1}': '${mes_min1}',
  '${vis_tolerance1}': '${measure1}',
  '${vis_max1}': '${mes_max1}',
  '${notes1}': '${notes1}',
  '${vis_attr_description2}': '${mes_attr_description2}',
  '${vis_mes2}': '${mes_min2}',
  '${vis_tolerance2}': '${measure2}',
  '${vis_max2}': '${mes_max2}',
  '${vis_attr_description3}': '${mes_attr_description3}',
  '${vis_mes3}': '${mes_min3}',
  '${vis_tolerance3}': '${measure3}',
  '${vis_max3}': '${mes_max3}',
  '${vis_attr_description4}': '${mes_attr_description4}',
  '${vis_mes4}': '${mes_min4}',
  '${vis_tolerance4}': '${measure4}',
  '${vis_max4}': '${mes_max4}',
  '${vis_attr_description5}': '${mes_attr_description5}',
  '${vis_mes5}': '${mes_min5}',
  '${vis_tolerance5}': '${measure5}',
  '${vis_max5}': '${mes_max5}',
  '${vis_attr_description6}': '${mes_attr_description6}',
  '${vis_mes6}': '${mes_min6}',
  '${vis_tolerance6}': '${measure6}',
  '${vis_max6}': '${mes_max6}',
  '${vis_attr_description7}': '${mes_attr_description7}',
  '${vis_mes7}': '${mes_min7}',
  '${vis_tolerance7}': '${measure7}',
  '${vis_max7}': '${mes_max7}',
  '${vis_attr_description8}': '${mes_attr_description8}',
  '${vis_mes8}': '${mes_min8}',
  '${vis_tolerance8}': '${measure8}',
  '${vis_max8}': '${mes_max8}',
  '${vis_attr_description9}': '${mes_attr_description9}',
  '${vis_mes9}': '${mes_min9}',
  '${vis_tolerance9}': '${measure9}',
  '${vis_max9}': '${mes_max9}',
  '${vis_attr_description10}': '${mes_attr_description10}',
  '${vis_mes10}': '${mes_min10}',
  '${vis_tolerance10}': '${measure10}',
  '${vis_max10}': '${mes_max10}',
  '${mes_attr_description1}': '${vis_attr_description1}',
  '${mes_min1}': '${vis_min1}',
  '${measure1}': '${vis_mes1}',
  '${mes_max1}': '${vis_max1}',
  '${notes2}': '${notes2}',
  '${mes_attr_description2}': '${vis_attr_description2}',
  '${mes_min2}': '${vis_min2}',
  '${measure2}': '${vis_mes2}',
  '${mes_max2}': '${vis_max2}',
  '${mes_attr_description3}': '${vis_attr_description3}',
  '${mes_min3}': '${vis_min3}',
  '${measure3}': '${vis_mes3}',
  '${mes_max3}': '${vis_max3}',
  '${mes_attr_description4}': '${vis_attr_description4}',
  '${mes_min4}': '${vis_min4}',
  '${measure4}': '${vis_mes4}',
  '${mes_max4}': '${vis_max4}',
  '${mes_attr_description5}': '${vis_attr_description5}',
  '${mes_min5}': '${vis_min5}',
  '${measure5}': '${vis_mes5}',
  '${mes_max5}': '${vis_max5}',
  '${mes_attr_description6}': '${vis_attr_description6}',
  '${mes_min6}': '${vis_min6}',
  '${measure6}': '${vis_mes6}',
  '${mes_max6}': '${vis_max6}',
  '${mes_attr_description7}': '${vis_attr_description7}',
  '${mes_min7}': '${vis_min7}',
  '${measure7}': '${vis_mes7}',
  '${mes_max7}': '${vis_max7}',
  '${mes_attr_description8}': '${vis_attr_description8}',
  '${mes_min8}': '${vis_min8}',
  '${measure8}': '${vis_mes8}',
  '${mes_max8}': '${vis_max8}',
  '${mes_attr_description9}': '${vis_attr_description9}',
  '${mes_min9}': '${vis_min9}',
  '${measure9}': '${vis_mes9}',
  '${mes_max9}': '${vis_max9}',
  '${mes_attr_description10}': '${vis_attr_description10}',
  '${mes_min10}': '${vis_min10}',
  '${measure10}': '${vis_mes10}',
  '${mes_max10}': '${vis_max10}'
}

Server.js

代码语言:javascript
运行
复制
app.post('/db/product/data/:product_uid',(req, res) => {
  var product_uid = req.param('product_uid');
  var Model = modelMap['productDataModel'](req.body.data)
  var data = req.body
  //get proddata id from product
  getProdDataIdFromProduct(product_uid).then(prod_data_uid => {
      var model = req.param('model');
      console.log(req.body)
      var model = new modelMap["productDataModel"](req.body.data)
      Model.replaceOne({_id: ObjectId(prod_data_uid)}, {data},  (err, res) => {
        if(err){
          console.log(err)
        }
        console.log(res)
      })
  });
})

服务器继续返回{ n: 0, nModified: 0, ok: 1 },但是数据正在清空,请有人指出我做不到什么。

EN

回答 1

Stack Overflow用户

发布于 2021-06-14 20:34:35

检查1以下

代码语言:javascript
运行
复制
mongoose.model('productDataModel').replaceOne({_id: ObjectId(prod_data_uid)}, data, {upsert:true}, callback);

function callback (err, doc) {
    if(err) {
      console.log(err);
    } else {
      console.log("success: ", doc);
    };
  };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67976419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档