我正在尝试从我的客户端发布一些JSON数据,并更新我的MongoDB模型。但由于某种原因,我所有的文档字段都被清空了。我尝试过许多不同的JSON操作,但无法正确插入
productDataModel.js
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数据
{
'${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
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 }
,但是数据正在清空,请有人指出我做不到什么。
发布于 2021-06-14 20:34:35
检查1以下
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);
};
};
https://stackoverflow.com/questions/67976419
复制相似问题