Node.js 连接MongoDB,并实现浏览器GET请求加参数
来源:互联网 发布:笑气在淘宝上叫什么 编辑:程序博客网 时间:2024/06/05 11:39
前言
最近学习了Node.js,并且接触了MongoDB,因此想做一个浏览器访问一个http地址获取数据库里的数据的例子,本文使用的是Node.js作为接口
具体内容
Node.js要准备的东西
express模块,可以参考http://www.runoob.com/nodejs/nodejs-express-framework.html获取
mongodb模块,可以参考http://www.runoob.com/nodejs/nodejs-mongodb.html获取
代码片
- 创建 express_demo.js文件
var express = require('express');var utils = require('./utils');var app = express();var url = require('url');var MongoClient = require('mongodb').MongoClient;var DB_CONN_STR = 'mongodb://localhost:27017/runoob';app.use(express.static('public'));// /user 页面响应app.get('/user', function (req, res) { //查询数据 var selectData = function(db, callback) { //连接到表 var collection = db.collection('site'); //查询数据 var params = url.parse(req.url, true).query; //从浏览器获得的参数 var name = params['name']; var whereStr = {}; whereStr.name = name; collection.find(whereStr).toArray(function(err, result) { if(err) { console.log(err); return; } callback(result); }); } MongoClient.connect(DB_CONN_STR, function(err, db) { console.log("连接成功!"); selectData(db, function(result) { // console.log(result); if(utils.isEmptyObject(result)){ res.end("name不存在"); }else{ res.end(JSON.stringify(result)); } db.close(); }); });})var server = app.listen(8080,"0.0.0.0", function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port)})
上面的代码有个
var utils = require('./utils');
这个是我写的一个判断JSON是否为空的函数,具体内容
utils.js文件
exports.isEmptyObject = function(e) { var t; for (t in e) return !1; return !0}
其中exports代表该函数可被外部调用
- 在MongDB中创建数据库并且插入数据
mongodb.js
var MongoClient = require('mongodb').MongoClient;var DB_CONN_STR = 'mongodb://localhost:27017/runoob';插入数据到表var insertData = function(db, callback) { //连接到表 site var collection = db.collection('site'); //插入数据 var data = [{"name":"菜鸟教程","url":"www.runoob.com","likes":100},{"name":"菜鸟工具","url":"c.runoob.com","likes":100}]; collection.insert(data, function(err, result) { if(err) { console.log('Error:'+ err); return; } callback(result); });}MongoClient.connect(DB_CONN_STR, function(err, db) { console.log("连接成功!"); insertData(db, function(result) { console.log(result); db.close(); });});
- 开启express_demo.js脚本,在node.js终端中输入
node express_demo.js
* get测试工具使用postman
- 结果
这样就实现了使用node.js+mongoDB实现http请求获取数据库内容的demo,学会了感觉很简单
阅读全文
0 0
- Node.js 连接MongoDB,并实现浏览器GET请求加参数
- node.js连接mongodb
- Node.js连接MongoDB。
- node.js 接收get请求
- Node.js GET/POST请求
- Node.js GET/POST请求
- Node.js GET/POST请求
- Node.js GET/POST请求
- Node.js GET/POST请求
- Node.js GET/POST请求
- Node.js GET/POST请求
- node js连接mongodb数据库
- node.js获取请求参数
- Node.js get请求简单实例
- node.js处理get和post请求
- Node.js GET与POST请求
- Node.js GET/POST请求简单例子
- node.js中get和post请求
- BZOJ 2759 一个动态树好题(Link-Cut Tree+数学)
- perl语言中的.pm文件和.pl文件区别
- 设计模式--适配器模式(JDK中的应用)
- 安卓知识图谱
- CodeForces 703 C.Chris and Road(贪心)
- Node.js 连接MongoDB,并实现浏览器GET请求加参数
- android7.1编译第三方apk到系统中的android.mk学习 基于packages/apps/Browser/Android.mk文件内容,如下: LOCAL_PATH := $(my-d
- TensorFlow入门教程:2:概述
- python基础语法
- java类型与mysql的映射对应表
- js完成逗号隔开数字
- javaMath类随机数math.random()
- maven加载多个模块 SpringMVC NO Mapping
- web token身份验证