吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1432|回复: 8
收起左侧

[已解决] nodejs+ejs+express 编写的js+html无法获取MongoDB内的数据

[复制链接]
CharlesLu 发表于 2021-5-9 11:40
本帖最后由 CharlesLu 于 2021-5-10 17:31 编辑

我是照着一个视频教程做的,视频最后可以显示数据库内容:
https://www.youtube.com/watch?v=yH593K9fYvE
求大佬帮我看看哪里有错误
完成的代码是这样的:

js文件:
[JavaScript] 纯文本查看 复制代码
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文件是这样的:
[HTML] 纯文本查看 复制代码
<!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[i].title %></a></li>
        <% } %>
</body>

</html>


我是一步一步照着视频做,但最后启动的时候,页面只显示<h1>标签的try3,而不显示数据库的内容。

下面是数据库截图、运行的截图和网页的截图:

2.JPG
3.JPG
1.JPG

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

小丑恶人 发表于 2021-5-9 17:08
ResultList.length改为test.length
ResultList[i].title改为test[i].title???
 楼主| CharlesLu 发表于 2021-5-9 17:41
小丑恶人 发表于 2021-5-9 17:08
ResultList.length改为test.length
ResultList.title改为test.title???

感谢回复,但好像不行,直接报错了
error.JPG
小丑恶人 发表于 2021-5-9 19:50
CharlesLu 发表于 2021-5-9 17:41
感谢回复,但好像不行,直接报错了

res.render('index', {
            ResultList: test
        })
这个的    resultlist:      去掉???
 楼主| CharlesLu 发表于 2021-5-9 20:35
小丑恶人 发表于 2021-5-9 19:50
res.render('index', {
            ResultList: test
        })

感谢回复,这样程序对了,但是结果和最早的代码一样,网页只显示那个<h1>标签,不显示其它的东西
小丑恶人 发表于 2021-5-9 21:49
CharlesLu 发表于 2021-5-9 20:35
感谢回复,这样程序对了,但是结果和最早的代码一样,网页只显示那个标签,不显示其它的东西

打包发我一份?
小丑恶人 发表于 2021-5-9 21:55

mongoose.model("test",还是说你的这里这个test换成collection
 楼主| CharlesLu 发表于 2021-5-9 22:14
本帖最后由 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这个单词


2.JPG
1.JPG
小丑恶人 发表于 2021-5-10 09:42
本帖最后由 小丑恶人 于 2021-5-10 09:44 编辑
CharlesLu 发表于 2021-5-9 22:14
链接: https://pan.baidu.com/s/1oZ_chOgqU7cUsJ9YTn7VrQ 提取码: 7aik

感谢大佬,我又尝试了一下,试 ...

1.png 2.png 3.png
没啥问题吧

你的那个tests是运行时自动生成的,,如果你的代码集合为Test,那么后台数据库的集合名就是tests

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
CharlesLu + 1 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表