[英]Mongoose data wont save new instance of model
我有來自表單的數據,發布到/submit
。 我的路線如下所示:
var submission = require('../models/submission');
router.post('/submit', function(req,res){
var ObjectId = require('mongoose').Types.ObjectId;
var formObjId = new ObjectId(req.body.formId);
var data = new submission({
formId: formObjId,
fields: req.body.fields,
});
data.save(function (err) {
if (!err) {
//NO ERROR
} else {
return console.log(err);
}
});
res.end("Successful submission!");
});
和我的提交模型:
var mongoose = require('mongoose');
module.exports = mongoose.model('Submission',{
createdAt: {type: Date, default: Date.now},
formId: [],
sourceId: [],
fields: [],
});
第一部分是我嘗試將字符串轉換為對象ID的位置。 在保存時,沒有任何內容顯示為錯誤,盡管我嘗試保存的兩個字段未與對象一起保存。 該對象使用createdAt和object id屬性保存在數據庫中。 其他為空。
我在做一些錯誤的事情來阻止屬性與對象的其余部分一起保存嗎?
如果我以正確的方式理解您的代碼,就會發現以下問題
您使用貓鼬驅動程序,這很好。
在模式中, formId的數據類型為Array。但是在響應方法中,分配給該字段的數據類型為ObjectId。
請檢查一次是場場是存在於請求主體.IE你發送其命名為POST請求“字段的任何領域。
這些是我初次查看代碼時發現的。
希望這些對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.