发布
社区首页 >问答首页 >当我尝试在mongoose中保存时出现错误?

当我尝试在mongoose中保存时出现错误?
EN

Stack Overflow用户
提问于 2017-04-15 23:53:12
回答 1查看 37关注 0票数 0

我正在尝试将一些数据保存在discussionReplyingSchema中,然后将其连接到讨论架构。这是我的两个讨论和回复示意图:

代码语言:javascript
代码运行次数:0
复制
const mongoose = require('mongoose');
const ObjectID = mongoose.Schema.Types.ObjectId;

let discussionSchema = mongoose.Schema({
    title: {type: String, required: true},
    content: {type: String},
    author: {type: ObjectID, required: true, ref: 'User'},
    date: {type: Date, default: Date.now()},
    reply: [{ type: ObjectID, ref: 'Replying' }]
});

let discussionReplyingSchema = mongoose.Schema({
    content: {type: String, required: true},
    author: {type: mongoose.Schema.Types.ObjectId, required: true, ref: 'User'},
    date: {type: Date, default: Date.now()}
});

const Discussion = mongoose.model('Discussion', discussionSchema);
const Replying = mongoose.model('Replying', discussionReplyingSchema);

module.exports = Discussion;
module.exports = Replying;

在控制器中,我获得了用户和内容,并试图将它们保存在mongoose中,但我得到了错误。代码:

代码语言:javascript
代码运行次数:0
复制
replyPost: (req, res) => {
        let replyParts = req.body;

        let replyContent = req.body.replyContent;
        console.log(replyContent);

        let userId = req.user.id;
        replyParts.author = userId;

        Replying.create(replyParts).then(reply => {
            req.user.reply.push(reply.id);
            req.user.save(err => {
               if (err) {
                res.render('/');
               } else{
                res.redirect('/');
               }
            });
        });
    }

这就是数据库现在的状态:

"reply":[],

我这样做是为了我的项目,所以如果可能的话,有人可以向我解释错误在哪里,如果可能的话,修复它?

EN

回答 1

Stack Overflow用户

发布于 2017-04-16 00:27:58

看起来你可能想用replyContent vs replyParts保存,但我不确定。您的console.log(replyContent)打印出什么内容?此外,在您的承诺中添加一个catch,这样您就可以捕获错误并查看发生了什么,这可能只是一个模式差异。

代码语言:javascript
代码运行次数:0
复制
replyPost: (req, res) => {
    let replyParts = req.body;
    console.log('replyParts', replyParts);

    let replyContent = req.body.replyContent;
    console.log('replyContent', replyContent);

    let userId = req.user.id;
    replyParts.author = userId;

    Replying.create(replyParts).then(reply => {
        req.user.reply.push(reply.id);
        req.user.save(err => {
           if (err) {
             console.log('USER SAVE ERR:' + err);
            res.render('/');
           } else{
            res.redirect('/');
           }
        });
    }).catch(err => console.log('REPLYING ERR:' + err));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43428107

复制
相关文章

相似问题

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