Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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应用程序未在model.find()之后呈现mongoDB集合_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js应用程序未在model.find()之后呈现mongoDB集合

Node.js应用程序未在model.find()之后呈现mongoDB集合,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我的节点应用程序在通过mongoose访问mongoDB集合的内容时遇到问题 这个问题只有在我的应用程序第一次调用数据库集合时才会发生。当用户按下submit按钮时,应该发生的是集合的内容应该动态添加到DOM中。然而,这并没有发生。但是,当我通过命令行界面检查集合时,用户提交的数据就在那里,然后当我按下浏览器上的刷新按钮(这与用户最初提交表单时重定向到的路径相同)时,数据会呈现到页面,就像它第一次应该出现一样 当我注意到这一点时,我试着从头开始。我删除了数据库,重新启动了服务器,但这一次,在我启

我的节点应用程序在通过mongoose访问mongoDB集合的内容时遇到问题

这个问题只有在我的应用程序第一次调用数据库集合时才会发生。当用户按下submit按钮时,应该发生的是集合的内容应该动态添加到DOM中。然而,这并没有发生。但是,当我通过命令行界面检查集合时,用户提交的数据就在那里,然后当我按下浏览器上的刷新按钮(这与用户最初提交表单时重定向到的路径相同)时,数据会呈现到页面,就像它第一次应该出现一样

当我注意到这一点时,我试着从头开始。我删除了数据库,重新启动了服务器,但这一次,在我启动应用程序并填写表单数据之前,我使用robo3t创建了数据库和集合,viola在我提交数据并点击save时,信息被保存到集合中,并在第一次成功呈现页面

所以我去看了mongoose提供的不同模型方法,认为也许我只需要在调用Model.find()之前的某个时候添加一个函数调用来初始化集合,但我看到的一切都告诉我,在调用mongoose.Model()时,集合已经(显然)初始化了

因此,我有点困惑,为了确保我的数据在用户第一次提交信息时呈现到网页上,而不是在刷新之后……我一直在等待所有异步功能,但可能我错过了什么

回购协议就在这里,不太可能有人想复制它,并试图重现这种情况。如果我能提供更多信息,请告诉我


谢谢。

我解决了。我需要重新安排一些事情,以便负责执行一些计算并将结果发送回应用程序的代码块位于model.find()的回调中


谢谢

你好!您能否在github repo中发布或提供表单代码和处理请求的express route处理程序的链接。应用程序javascript位于/src/client/index.js中,服务器javascript位于src/server/index.js中。两个相关的app.GET路由是/setData和/userData。我可以确认数据每次都在它应该在的位置(mongoDB collection),但是,大多数时候(虽然不是每次),在我看到dom中的元素之前,我必须点击两次save按钮或点击save一次刷新页面。(在这方面,我可能根本不值得帮助,我无法想象其他人真的看完了所有这些代码,不想让我窒息。)