nodejs+ejs+express 编写的js+html无法获取MongoDB内的数据
本帖最后由 CharlesLu 于 2021-5-10 17:31 编辑我是照着一个视频教程做的,视频最后可以显示数据库内容:
https://www.youtube.com/watch?v=yH593K9fYvE
求大佬帮我看看哪里有错误
完成的代码是这样的:
js文件:
const express = require('express');
const mongoose = require('mongoose');
const app = express();
const ejs = require('ejs');
app.set('view engine','ejs');
mongoose.connect('mongodb://121.5.***.**:27017/Python');
const python_result = {
title: String
}
const Python = mongoose.model("test", python_result);
app.get('/', (req, res) => {
Python.find({}, function(err, test){
res.render('index', {
ResultList: test
})
})
})
app.listen(4000, function() {
console.log('server is running')
})
index.ejs文件是这样的:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Python Result</title>
</head>
<body>
<h1>try3</h1>
<% for(i=0; i< ResultList.length; i++) {%>
<li><a><%= ResultList.title %></a></li>
<% } %>
</body>
</html>
我是一步一步照着视频做,但最后启动的时候,页面只显示<h1>标签的try3,而不显示数据库的内容。
下面是数据库截图、运行的截图和网页的截图:
ResultList.length改为test.length
ResultList.title改为test.title??? 小丑恶人 发表于 2021-5-9 17:08
ResultList.length改为test.length
ResultList.title改为test.title???
感谢回复,但好像不行,直接报错了
CharlesLu 发表于 2021-5-9 17:41
感谢回复,但好像不行,直接报错了
res.render('index', {
ResultList: test
})
这个的 resultlist: 去掉???
小丑恶人 发表于 2021-5-9 19:50
res.render('index', {
ResultList: test
})
感谢回复,这样程序对了,但是结果和最早的代码一样,网页只显示那个<h1>标签,不显示其它的东西 CharlesLu 发表于 2021-5-9 20:35
感谢回复,这样程序对了,但是结果和最早的代码一样,网页只显示那个标签,不显示其它的东西
打包发我一份? 小丑恶人 发表于 2021-5-9 21:49
打包发我一份?
mongoose.model("test",还是说你的这里这个test换成collection 本帖最后由 CharlesLu 于 2021-5-10 18:06 编辑
小丑恶人 发表于 2021-5-9 21:55
mongoose.model("test",还是说你的这里这个test换成collection
链接: https://pan.baidu.com/s/1oZ_chOgqU7cUsJ9YTn7VrQ 提取码:
感谢大佬,我又尝试了一下,试着通过server.js这个脚本向服务器添加数据
发现数据库里面的"test"表没有变化,反而新增了一个"tests"表的内容
然后网页也会正确显示出"tests"内的数据
但是我代码都是”test“,好像没有出现过tests这个单词
本帖最后由 小丑恶人 于 2021-5-10 09:44 编辑
CharlesLu 发表于 2021-5-9 22:14
链接: https://pan.baidu.com/s/1oZ_chOgqU7cUsJ9YTn7VrQ 提取码: 7aik
感谢大佬,我又尝试了一下,试 ...
没啥问题吧
你的那个tests是运行时自动生成的,,如果你的代码集合为Test,那么后台数据库的集合名就是tests
页:
[1]