nodejs mongo数据库连接、查询、显示
初学nodejs,涉及内容太多,总找不到如何能处理数据之间的交换、提取,显示。查找众多资料,终于调试成功,为免遗忘,特记录如下:
安装nodejs,mongo数据库在这里不做记录了。
1、编写server.js文件:(C)
var express = require('express');
var app = express();
var path = require('path');
var db = require('./db1.js')
app.use(bodyParser.json());//数据JSON类型
app.use(bodyParser.urlencoded({ extended: false }));//解析post请求数据
app.use(express.static(path.join(__dirname, 'public')));
app.get('/allstudent', function (req, res) {
db.getAllStudent((arr) => {
res.json(arr);
});
});
app.get('/json.html', function (req, res) {
res.sendFile(__dirname + '/json.html');
});
});
app.listen(1338);//监听localhost:1338端口
2、编写数据库访问文件db1.js(M)
const MongoClient = require('mongodb').MongoClient;
var ObjectID = require('mongodb').ObjectID;
const url = 'mongodb://localhost:27017';
const dbName = 'xuesheng';
function getAllStudent(callback){
MongoClient.connect(url, {useNewUrlParser: true}, function(err, client) {
if(err) {
console.log("连接数据库失败,请mongod开机");
return;
}
// Use the admin database for the operation
const db = client.db(dbName);
console.log("数据库连接成功");
db.collection('banji').find({}).toArray(function (err,results){
if(err) {
console.log("查询数据失败!");
return;
}
console.log(results);
callback(results)
//关闭数据库
client.close();
})
})
}
exports.getAllStudent = getAllStudent;
3、编写数据展示json.html(V)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JSON数据获取</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<style type="text/css">
table{
width: 78vw;
margin: auto;
}
table,tr,td,th{
border-collapse: collapse;
border: 1px solid #ccc;
}
tr:first-child {
background-color: skyblue;
}
#bb{
margin-top: 40px;
}
</style>
</head>
<body>
<table id="bb">
</table>
<script>
<script>
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// arr=JSON.parse(this.responseText); //直接将接收返回的字符转换成JSON对象也可以
arr=eval("("+this.responseText+")"); //利用eval加括号转换成一个js对象,从而可以访问其中的值
str="<tr><th>姓名</th><th>年龄</th><th>性别</th><th>籍贯</th></tr>";
arr.forEach((item) => {
str += `<tr><td>${item.uname}</td><td>${item.age}</td><td>${item.sex}</td><td>${item.provice}</td></th>`
});
document.getElementById("bb").innerHTML =str;
}
};
xmlhttp.open("GET", "/allstudent", true);
xmlhttp.send();
</script>
</body>
</html>
4 启动服务
node server
5 在IE中访问127.0.0.1:1338/json.html
nodejs mongo数据库连接、查询、显示的更多相关文章
- 监控Mongo慢查询
监控Mongo慢查询 1. 使用mongostat监控MongoDB全局情况 mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取MongoDB的当前运行状态,并输 ...
- Mongo简单查询总结
mongo 简单查询db.ansheng.findOne()//返回第一条匹配到的数据db.ansheng.findOne({"aaaaa":4})db.ansheng.find( ...
- 《ArcGIS Engine+C#实例开发教程》第八讲 属性数据表的查询显示
原文:<ArcGIS Engine+C#实例开发教程>第八讲 属性数据表的查询显示 第一讲 桌面GIS应用程序框架的建立 第二讲 菜单的添加及其实现 第三讲 MapControl与Page ...
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...
- 程序处理数据库中值字段值为null的查询显示
1.如果你做了一个简单的注册界面,需要用户进行注册,但有些项是不必要填的,当用户完成注册时,数据库表中的相应字段的值会写入null,但如何将查询的字段的值null显示出来? 2.首先我们学习一下如何向 ...
- Mysql数据库连接查询
Mysql数据库连接查询 连接是关系数据库模型的主要特点.连接查询是关系数据库中最主要的查询,主要包括内连接.外连接等.通过连接运算可以 ...
- Mongo 应用查询
官网操作手册,基本就够用 https://docs.mongodb.com/manual/ 下面是个分组查询的例子,项目中用到然后查了个例子,自己理解了下,觉得很好很强大. https://blog. ...
- Nodejs+Mongo+WebAPI
Nodejs+Mongo+WebAPI集成 1.[ 目录]: |- models/bear.js |- node_modules/ |- express |- mongoose |- body-par ...
- mormot数据库连接+查询+序列为JSON
mormot数据库连接+查询+序列为JSON uses SynDB,SynCommons, SynDBRemote, SynOleDB, SynDBMidasVCL, mORMotMidasVCL p ...
- kibana中信息分类查询显示的方法
1.什么是kibana? kibana是ELK(elasticsearch+logstash+kibana)中的K,它是一个可灵活的分析和可视化平台,主要是显示数据以及根据这些数据绘出一些可视化图表, ...
随机推荐
- android本地文件处理的一些经验
选择文件后,现在一般返回 Uri contentResolver.getType(selUrl)结果如下 .txt text/plain .jpeg image/jpeg .mp4 video/mp4 ...
- babel npm包说明
babel-plugin-import 用于按需加载,在使用antd 的时候引入,可以减少包体积
- Python3 学习基础知识
python是动态语言(对象属性可以动态改变,删除添加..),不是强类型语言,所以和java,c/c++等强类型静态语言有不一样地方需要注意. 一:基本数据类型 变量 counter = 1 # ...
- ANT+JMETER+Jenkins 接口自动化
Linux环境下搭建:ANT+JMETER+Jenkins 接口自动化 一.准备环境: 1.下载 JDK1.8 JDK下载地址:https://www.oracle.com/java/technolo ...
- 33. Java对异常处理的两种方式
声明异常 throw: 关键字,用于抛出一个指定的异常对象 必须写在方法内部.必须是Exception或Exception的子类对象 throws: 用于方法声明上,表示当前方法不处理该异常,提醒调用 ...
- stm32 窗口看门狗
窗口看门狗一般要在几十毫秒后开始喂狗 窗口看门狗在执行0x40时会调用回调函数, 回调函数可以执行喂门狗,否则会执行到0x3F直接复位 参考链接: https://blog.csdn.net/weix ...
- .NET 7介绍及环境准备
环境要求 VS2022 17.4+
- Python中变量和对象的关系
变量和对象 Python中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是对象.而变量是对象的一个引用(也可以称为标签或者名字),对象的操作都是通过引用来完成的. 例如,[]是一个空列 ...
- Navicat连接Oracle时报错ORA-28547:完美解决
1. 先用你的IDEA或者别人的连接到oracle数据库(为了查询版本) 1.1 查询版本SQL:select * from v$version; 2. 引入对应的oci.dll文件 链接:https ...
- 查询某数据库的某字段存在于哪些表 mysql
select column_name,column_comment,data_type ,table_name from information_schema.columns where table ...