【发布时间】:2019-03-20 10:56:15
【问题描述】:
我正在使用以下技术和框架版本:
- Couchbase:企业版 6.0.1 build 2037 ‧ IPv4
- 节点:v10.15.3
- 快递:v4.16.4
我是这个技术和框架的初学者。
我正在使用 Node + Express 制作一个简单的应用程序,并且我正在使用 Couchbase 来保存数据。 该应用程序是关于课程和学生的,以及哪个学生上哪些课程以及哪个课程有哪些学生。 一切正常,我可以保存,删除,寻找细节,只是我有一个小问题:
我保存新数据(不管是在课程路线上还是在学生路线上),然后我的应用程序重定向到索引页面,并且它假设显示所有课程或学生。它显示以前保存的学生或课程,但不包含新保存的学生或课程。当我刷新页面 (F5) 时,它会显示新保存的学生或课程。 它必须在不刷新索引页面的情况下显示新保存的学生或课程。
这是我的代码
我如何保存到数据库并重定向到 /courses 路由:
//save new course in the db than redirect to index page
app.post("/courses", function(request, response) {
var course = new CourseModel({
"name": request.body.name
});
course.save(function(error, result) {
if(error) {
return response.status(401).send({ "success": false, "message": error});
}
response.redirect("/courses");
});
});
这就是 /courses 路由的样子:
//get all courses and render index page
app.get("/courses", function(request, response) {
CourseModel.find({}, {load: ["students"]}, function(error, result) {
if(error) {
return response.status(401).send({ "success": false, "message": error});
}
response.render("courses/index", {results: result});
});
});
所以当我点击 SAVE 按钮时,它应该保存到数据库而不是重定向到 /courses 页面,它应该呈现包含新保存的课程或学生的索引页面,但它没有。但是刷新页面后,新保存的课程或学生就在那里。
那么为什么新保存的数据没有立即出现在索引页面上?我应该改变什么?
我的 Couchbase 服务器正在我的计算机上使用此集群和存储桶设置本地运行:
类型:沙发底座 存储桶内存配额:512MB 集群内存配额:4.1GB 复制品:1 服务器节点:1 弹出方法:仅值 冲突解决:序列号 压缩:未激活
【问题讨论】: