Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js mongoose中的保存功能不起作用_Node.js_Mongodb_Mongoose_Backend_Mongoose Schema - Fatal编程技术网

Node.js mongoose中的保存功能不起作用

Node.js mongoose中的保存功能不起作用,node.js,mongodb,mongoose,backend,mongoose-schema,Node.js,Mongodb,Mongoose,Backend,Mongoose Schema,我有一个模式,当我试图更新数据库中的数组时,文件没有得到更新,数组总是空的。 当我在更新后打印文章时,它会打印带有我刚刚添加的一条注释的数组,但它不会保存在数据库中。 很可能是我没有将更新的文件正确保存到数据库中 这是我对你的评论 const Comment = require('../models/comment'); const Post = require('../models/post'); module.exports.create = function(req, res){

我有一个模式,当我试图更新数据库中的数组时,文件没有得到更新,数组总是空的。 当我在更新后打印文章时,它会打印带有我刚刚添加的一条注释的数组,但它不会保存在数据库中。 很可能是我没有将更新的文件正确保存到数据库中

这是我对你的评论

const Comment = require('../models/comment');
const Post = require('../models/post');

module.exports.create = function(req, res){
    Post.findById(req.body.postId, (err, post) => {
        //if the post is found
        if(post){
            Comment.create({
                content: req.body.comment,
                user: req.user._id,
                post: req.body.postId
            },
            (err, currcomment) => {
                if(err)
                    console.log(err);
                post.comment.push(currcomment);
                post.markModified('comment');
                post.save(function(err, doc) {
                    if (err) return console.error(err);
                    console.log("Document inserted succussfully!");
                  });
                    console.log(post);
                return res.redirect('/')
            }
            );
        }
        else{
            return res.redirect('/')
        }

    })
};
这是我的评论模式

const mongoose = require('mongoose');


const commentSchema = new mongoose.Schema(
    {
        content: {
            type: String,
            required: true
        },
        //comment belongs to a user
        user: {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'User'
        },
        post: {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'Post'
        }
    },

    {timestamps: true}
);

const Comment = mongoose.model('Comment', commentSchema);

module.exports = Comment;
    
post.save()发出此警告/错误


 Error: Post validation failed: comment: Cast to [undefined] failed for value "[{"_id":"5fc0dfec4c87ad723b06d6eb","content":"sadfasdf","user":"5fba3cbd01b2310b7aba868b","post":"5fc0de91fc0ca96fd0b331df","createdAt":"2020-11-27T11:15:56.991Z","updatedAt":"2020-11-27T11:15:56.991Z","__v":0}]" at path "comment"
    at ValidationError.inspect (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/error/validation.js:47:26)
    at formatValue (internal/util/inspect.js:491:31)
    at inspect (internal/util/inspect.js:189:10)
    at Object.formatWithOptions (util.js:84:12)
    at Console.(anonymous function) (console.js:196:15)
    at Console.warn (console.js:213:31)
    at /home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/controllers/comment_controller.js:19:45
    at /home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/model.js:4846:16
    at /home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/helpers/promiseOrCallback.js:16:11
    at /home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/model.js:4869:21
    at $__save.error (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/model.js:500:16)
    at /home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/kareem/index.js:246:48
    at next (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/kareem/index.js:167:27)
    at next (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/kareem/index.js:169:9)
    at Kareem.execPost (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/kareem/index.js:217:3)
    at _handleWrapError (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/kareem/index.js:245:21)
  errors:
   { comment:
      { ValidatorError: Cast to [undefined] failed for value "[{"_id":"5fc0dfec4c87ad723b06d6eb","content":"sadfasdf","user":"5fba3cbd01b2310b7aba868b","post":"5fc0de91fc0ca96fd0b331df","createdAt":"2020-11-27T11:15:56.991Z","updatedAt":"2020-11-27T11:15:56.991Z","__v":0}]" at path "comment"
          at _init (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/document.js:691:37)
          at init (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/document.js:657:5)
          at model.Document.$__init (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/document.js:586:3)
          at model.syncWrapper [as $__init] (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/kareem/index.js:234:23)
          at model.Document.init (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/document.js:545:8)
          at completeOne (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/query.js:2844:12)
          at model.Query.Query._completeOne (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/query.js:2073:7)
          at Immediate.Query.base.findOne.call (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mongoose/lib/query.js:2117:10)
          at Immediate.<anonymous> (/home/yuganksingh/me/Learn Full stack WEb-Dev/CODING NINJAS/Backend/instaKiloGram/node_modules/mquery/lib/utils.js:116:16)
          at runCallback (timers.js:705:18)
          at tryOnImmediate (timers.js:676:5)
          at processImmediate (timers.js:658:5)
        properties: [Object],
        kind: 'cast',
        path: 'comment',
        value:
         '[{"_id":"5fc0dfec4c87ad723b06d6eb","content":"sadfasdf","user":"5fba3cbd01b2310b7aba868b","post":"5fc0de91fc0ca96fd0b331df","createdAt":"2020-11-27T11:15:56.991Z","updatedAt":"2020-11-27T11:15:56.991Z","__v":0}]',
        reason: [CastError] } },
  _message: 'Post validation failed' }


错误:后期验证失败:注释:对值“[{”\u id:“5fc0dfec4c87ad723b06d6eb”,“内容”:“sadfasdf”,“用户”:“5FBA3CBD0B2310B7ABA868B”,“Post:“5fc0de91fc0ca96fd0b331df”,“createdAt:“2020-11-27T11:15:56.991Z”,“更新日期”:“2020-11-27T11:15:56.991Z”,“注释”路径处的“\u v:”0}”
在ValidationError.inspect(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakigg/node_modules/mongoose/lib/error/validation.js:47:26)
at formatValue(internal/util/inspect.js:491:31)
检查时(内部/util/inspect.js:189:10)
位于Object.formatWithOptions(util.js:84:12)
控制台上。(匿名函数)(Console.js:196:15)
在Console.warn(Console.js:213:31)
在/home/yuganksingh/me/Learn-Full-stack-WEb-Dev/CODING-NINJAS/Backend/instakiggle/controllers/comment\u-controller.js:19:45
在/home/yuganksingh/me/Learn-Full-stack-WEb-Dev/CODING-NINJAS/Backend/instakikg/node_-modules/mongoose/lib/model.js:4846:16
在/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node_modules/mongoose/lib/helpers/promiseOrCallback.js:16:11
在/home/yuganksingh/me/Learn-Full-stack-WEb-Dev/CODING-NINJAS/Backend/instakikg/node_-modules/mongoose/lib/model.js:4869:21
在$\u save.error(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node\u modules/mongoose/lib/model.js:500:16)
在/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node_modules/kareem/index.js:246:48
下一步(/home/yuganksingh/me/Learn-Full-stack-WEb-Dev/CODING-NINJAS/Backend/instakikg/node_-modules/kareem/index.js:167:27)
下一步(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node_modules/kareem/index.js:169:9)
在Kareem.execPost(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakigg/node_modules/Kareem/index.js:217:3)
at_handleWrapError(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node_modules/kareem/index.js:245:21)
错误:
{评论:
{ValidatorError:对值“[{”\u id:“5fc0dfec4c87ad723b06d6eb”,“内容”:“sadfasdf”,“用户”:“5FBA3CBD0B2310B7ABA868B”,“post:“5fc0de91fc0ca96fd0b331df”,“创建数据”:“2020-11-27T11:15:56.991Z”,“更新数据”:“2020-11-27T11:15:56.991Z”,“注释”路径处的“\u v:“0}]”
在_init(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakigg/node_modules/mongoose/lib/document.js:691:37)
在init(/home/yuganksingh/me/Learn-Full-stack-WEb-Dev/CODING-NINJAS/Backend/instakikg/node_-modules/mongoose/lib/document.js:657:5)
在model.Document.$\u init(/home/yuganksingh/me/Learn-Full-stack-WEb-Dev/CODING-NINJAS/Backend/instakikg/node\u-modules/mongoose/lib/Document.js:586:3)
在model.syncWrapper[as$\uu init](/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node\u modules/kareem/index.js:234:23)
在model.Document.init(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node_modules/mongoose/lib/Document.js:545:8)
在completeOne(/home/yuganksingh/me/Learn-Full-stack-WEb-Dev/CODING-NINJAS/Backend/instakikg/node_-modules/mongoose/lib/query.js:2844:12)
在model.Query.Query._completeOne(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node_modules/mongoose/lib/Query.js:2073:7)
在Immediate.Query.base.findOne.call(/home/yuganksingh/me/Learn Full stack WEb Dev/CODING NINJAS/Backend/instakikg/node_modules/mongoose/lib/Query.js:2117:10)

立即。

我希望您使用的是mongoose版本5.10.16,请将其更改为5.10.15。 检查此GitHub问题线程。
5.10.16已完全损坏。

我希望您使用的是mongoose版本5.10.16,请将其更改为5.10.15。 检查此GitHub问题线程。
5.10.16完全损坏。

我检查了package.json的“mongoose”:“^5.10.15”,请不要使用任何波浪号(~)和插入符号(^),只需执行package.json中的“mongoose”:“5.10.15”。同样的问题没有发生变化我检查了package.json的“mongoose”:“^5.10.15”,请不要使用任何波浪号(~)和插入符号(^),只需执行“mongoose”:“5.10.15”在package.json.json中,同样的问题没有发生变化