当前位置: 首页 > 知识库问答 >
问题:

.post节点。js/Express/Mongoose调用,第一篇帖子后不保存帖子(.save)。。进一步更新,关闭问题?

史逸春
2023-03-14

使用AJAX/Node。js/Express/Mongoose/MongoDB,数据正在通过ajax成功地传递到node。js并正确登录,但只有第一篇帖子保存在MongoDB中。。

在第一个帖子之后发送帖子仍然会记录所有新数据,但是控制台会保持在空行上(光标只是静止不动)...在“帖子成功!”之后console.log,它跟随.保存调用,但是数据库没有收到新数据!?

只有在刷新网页或保存文件(之后nodemon自动启动)后,才会进行新的post保存。

这是控制台日志(最后一行的'|'代表悬挂光标...):

Server is starting
posting a new Message..from: 53aada6f8b10eb0000ec8a90
[ 'username1' ]
element: username1
To: username1
Message: testTwo
Created: Tue Jul 01 2014 15:53:57 GMT-0400 (EDT)
post success!
|

这是节点。js/Express/Mongoose。邮递

router.route('/messages')

// create a message (accessed by POST @ http://localhost:4200/api/v1/messages)
.post(function(req, res) {

    console.log('posting a new Message..from: ' + req.session.user );

    var message = new Models.Message();

    var toWhom = req.body.to;

    console.log(toWhom); // [ 'user1', 'user2' ]

    toWhom.forEach(toWhomLoop);
    function toWhomLoop(element, index, array) {

    console.log('element: ' + element); // 'user1'

        message.to.push({

            user : user,
            username : element,
            read :
            {
                marked : false,
                datetime : null
            },
            updated : req.body.nowDatetime

        }); // push: to MessageUserSchema [array]

    }

    message.from.push({

        user : req.session.user,
        username : req.session.username,
        updated : req.body.nowDatetime

    }); // push: from MessageUserSchema [array]

    message.message = req.body.message;
    message.created = req.body.nowDatetime;

    console.log('To: ' + req.body.to);
    console.log('Message: ' + req.body.message);
    console.log('Created: ' + req.body.nowDatetime);

    // save the message, and check for errors
    message.save(function(err) {

        if (err)
            res.send(err);

        res.json({ message: 'Message "' + message.message + '" Created' });

    });

    console.log('post success!');

})

再看一眼,以Sublime的方式突出了闭包。。这个post(function(req,res){closures({})不要在任何一侧(开始或结束)突出显示,除非以下元素是从。帖子:

    message.from.push({

        user : req.session.user,
        username : req.session.username,
        updated : req.body.nowDatetime

    }); // push: from MessageUserSchema [array]

    message.message = req.body.message;
    message.created = req.body.nowDatetime;

    console.log('To: ' + req.body.to);
    console.log('Message: ' + req.body.message);
    console.log('Created: ' + req.body.nowDatetime);

只有当以上所有内容都被注释/删除时。发布最精彩的内容。。有语法问题吗?

共有1个答案

佘茂才
2023-03-14

尝试将save()函数更改为:

// save the message, and check for errors
message.save(function(err, result) {

    if (err) {
        console.log(err);
        res.send(err);
    }
    console.log("The result: ", result);
    res.json({ message: 'Message "' + message.message + '" Created' });

});
 类似资料:
  • 问题是...当我点击编辑文章/编辑页面时,它试图打开http://localhost/site/wp-admin/post-108.php?post=286 我不记得我到底做了什么,但它一定是在我的IDE重构代码后开始的,当时我正在重命名模板文件。 没有邮政108。php在wp admin文件夹或我的主题文件夹中,但有帖子。php。我不知道它为什么要开108后。不存在的php。 注意:这是一个自定

  • 圈子帖子列表 圈子帖子详情 圈子帖子创建 圈子帖子更新 圈子帖子删除 我的帖子列表 全部帖子列表包含搜索 圈子帖子列表 GET /groups/:group/posts 响应 status 200 参数说明 名称 类型 说明 type string 默认:latest_post, latest_post 最新帖子,latest_reply最新回复 limit integer 默认 15 ,数据

  • 我们正在为我们的Laravel REST API实现开发Swagger文档。几个POSTendpoint将使用CSV作为参数内容类型。 Swagger中是否有一种方法可以让“立即尝试”功能与CSV POST文件上传一起使用? 下面是我们的留档http://api.curvecompass.com/docs/#/ 我们的Laravel POST函数可以正确地与CSVendpoint一起工作,而不是与

  • 问题内容: 我正在使用访问管理(AM)服务器创建社交登录页面。当用户单击登录按钮时,我将对AM服务器进行一次http调用。AM服务器生成带有身份验证cookie的HTTP 301重定向响应到社交登录页面。我需要以某种方式遵循此重定向响应,并在Web浏览器中显示新内容。 用户界面:ReactJS 请求: 响应 反应代码: 如何跟踪重定向响应并在Web浏览器中显示新内容? 问题答案: Request.

  • 我有一个静态页面,其中10个容器位于index.php文件的不同位置,我想显示10篇最新文章。我想像这样回显帖子的数据(标题、文本、缩略图、作者、时间): 我的PHP文件: 提前谢谢,我感谢你能提供的任何帮助。