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,它是一个可灵活的分析和可视化平台,主要是显示数据以及根据这些数据绘出一些可视化图表, ...
随机推荐
- java学习流程(java学习之路)
Java学习流程 Java SE(18-20天) 1.计算机基础 2.博客的重要性 3Java基础语法 4.流程控制和方法 5 .数组 6 .面向对象 7 .异常 8 .常用类 9 .集合框架 10 ...
- source 跳过登录账号的方法
1 安装 git windows 选择版本为 Git-2.29.2.2-64-bit 2 启动sourcetree 的安装 选择版本为 SourceTreeSetup-2.5.5 2.1 第一次启动 ...
- VUE3声明插件TypeScript类型
declare module '*.vue' { import type { DefineComponent } from 'vue'; // eslint-disable-next-line @ty ...
- 2357. 使数组中所有元素都等于零 (Easy)
问题描述 2357. 使数组中所有元素都等于零 (Easy) 给你一个非负整数数组 nums .在一步操作中,你必须: 选出一个正整数 x , x 需要小于或等于 nums 中 最小 的 非零 元素. ...
- react 富文本编辑器
5大富文本编辑器今天,富文本编辑器被用于许多应用中,包括简单的博客和复杂的内容管理系统.然而,选择一个并不容易,因为有很多具有不同功能的编辑器. 因此,在这篇文章中,我将评估5个React的富文本编辑 ...
- Java本地缓存解决方案---使用Google的CacheBuilder
一.背景 当业务实现上需要用到本地缓存,来解决一些数据量相对较小但是频繁访问数据的场景,可以采用Google的CacheBuilder解决方案. 二.代码实现 1. 首先在maven中引入下面的包 & ...
- TypeScript - 配置文件 tsconfig.json
tsconfig.json 文件 创建两种方式: 1. 直接在根目录新建tsconfig.config.json (配置文件需要自己配置) 2. 执行tsc --init (会自动创建相关配置) t ...
- JS篇(003)-请用 js 去除字符串空格?
答案:replace 正则匹配方法.str.trim()方法.JQ 方法:$.trim(str)方法 解析: 方法一:replace 正则匹配方法 去除字符串内所有的空格:str = str.repl ...
- Windows MFC HTTP 函数流程
Windows MFC HTTP 函数流程 1 //建立连接 2 pInternetSession = new CInternetSession(AfxGetAppName()); 3 4 5 6 / ...
- springsecurity 配置swagger
最近在学习springsecurity 安全框架,具体是什么概念在这里不一一赘述了.下面呢,咱们一起搭建一下简单的springsecurity swagger 项目感受一下. 首先初始化spring ...