簡體   English   中英

貓鼬數據不會保存新的模型實例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM