MongoDB学习day04--NodeJs操作数据库增删改查
一、在Nodejs中使用Mongodb
Nodejs需要引入的包
npm install mongodb --save -dev 或者使用镜像 cnpm install mongodb --save -dev
Mongodb官网的学习地址:
https://docs.mongodb.com/getting-started/node/introduction/
http://mongodb.github.io/node-mongodb-native/2.2/quick-start/quick-start/
二、Nodejs连接Mongodb数据库
var express = require("express");
//数据库引用
var MongoClient = require('mongodb').MongoClient;
var app = express();
//数据库连接的地址,最后的斜杠表示数据库名字
var shujukuURL = 'mongodb://localhost:27017/news';
app.get("/",function(req,res){
//连接数据库,这是一个异步的操作
MongoClient.connect(shujukuURL, function(err, db) {
res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
if(err){
res.send("数据库连接失败");
return;
}
res.write("恭喜,数据库已经成功连接 \n");
db.collection("user").insertOne({"name":"哈哈"},function(err,result){
if(err){
res.send("数据库写入失败");
return;
}
res.write("恭喜,数据已经成功插入");
res.end();
//关闭数据库
db.close();
});
});
});
app.listen(8020);
三、Nodejs查找Mongodb数据库集合
MongoClient.connect(dbUrl,function(err,db){
if(err){ /*数据库连接失败*/
console.log('数据库连接失败');
return;
}
var result=[];
var userRel=db.collection('user').find();
//res.send(userRel);
userRel.each(function(err, doc) {
if(err){
res.write("游标遍历错误");
return;
}
if (doc != null) {
result.push(doc);
} else {
console.log(result);
//遍历完毕
db.close();
res.render("index",{
"result" : result
});
}
});
})
四、Nodejs给Mongodb增加数据
MongoClient.connect(dbUrl,function(err,db){
if(err){
return
}
db.collection('user').insertOne({
"name" : name,
"age" : age,
"score" : {
"shuxue" : shuxuechengji,
"yuwen" : yuwenchengji
}
},function(err,result){
if(err){
console.log('写入数据失败');
}
//关闭数据库
db.close();
//res.redirect('/add');
res.redirect('/'); /*路由跳转*/
res.end();
////res.location('/add')
})
})
五、Nodejs修改Mongodb数据
MongoClient.connect(dbUrl,function(err,db){
if(err){
console.log('数据库连接错误');
return;
}
db.collection('user').updateOne({"_id":ObjectID(id)}, {
"name": name,
"age": age,
"score": {"shuxue": shuxue,
"yuwen": yuwen
}
},function (err, results) {
console.log(results);
db.close();
res.redirect('/'); /*路由跳转*/
res.end('end');
})
})
六、Nodejs删除Mongodb数据
MongoClient.connect(dbUrl,function(err,db){
if(err){
throw new Error("数据库连接失败");
return;
}
db.collection('user').deleteOne({"_id":ObjectID(id)},function(error,result){
if(error)
{
throw new Error('删除数据失败');
return;
}
db.close();
res.redirect('/'); /*路由跳转*/
})
})
七、Nodejs操作Mongodb3.x数据库方法
//http://mongodb.github.io/node-mongodb-native/3.0/quick-start/quick-start/ /*
nodejs操作mongodb数据库 1.安装mongodb、 cnpm install mongodb --save 2.引入mongodb下面的MongoClient
var MongoClient = require('mongodb').MongoClient; 3.定义数据库连接的地址 以及配置数据库
qianfeng数据库的名称 var url = 'mongodb://localhost:27017/'; var dbName = 'shop' 4.nodejs连接数据库 MongoClient.connect(url,function(err,client){ const db = client.db(dbName); 数据库db对象 }) 5.操作数据库 MongoClient.connect(url,function(err,client){ const db = client.db(dbName); 数据库db对象 MongoClient.connect(url,function(err,db){ db.collection('user').insertOne({"name":"张三"},function(err,result){ db.close() //关闭连接
}) }) }) */
var MongoClient = require('mongodb').MongoClient; //定义连接数据库的地址 const url = 'mongodb://localhost:27017/';
var dbName = 'shop' //连接数据库
MongoClient.connect(url,(err,client)=>{ if(err){
console.log('数据连接失败');
return false;
}
let db=client.db(dbName); /*获取db对象*/ db.collection("admin").insertOne({"name":"mongodb3.0","age":10},function(err){ if(err){
console.log('增加失败');
return false;
}
console.log('增加成功');
client.close(); /*关闭数据库*/
}) })
MongoDB学习day04--NodeJs操作数据库增删改查的更多相关文章
- MongoDB学习day07--mongoose入门,数据库增删改查,默认参数,模块化
一.mongoose介绍 Mongoose 是在 node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具. Mongoose 是 NodeJS 的驱动, 不能作为其他语言的驱动. M ...
- 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查
一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...
- MongoDB学习总结(二) —— 基本操作命令(增删改查)
上一篇介绍了MongoDB在Windows平台下的安装,这一篇介绍一下MongoDB的一些基本操作命令. 下面我们直奔主题,用简单的实例依次介绍一下. > 查看所有数据库 (show dbs) ...
- Django-Model操作数据库(增删改查、连表结构)
一.数据库操作 1.创建model表 基本结构 1 2 3 4 5 6 from django.db import models class userinfo(models.M ...
- phpcms 操作数据库 增删改查
数据库的其他类继承的都是libs/class/model.class.php 这里面有写好的操作数据库的常用方法 1.增 insert($data, $return_insert_id = false ...
- JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能
一.分页工具类 package blank.util;import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; ...
- Nodejs操作MySQL - 增删改查
先安装npm模块项目 npm init 安装mysql npm install mysql --save Nodejs 连接msyql // 导入mysql const mysql = require ...
- java操作数据库增删改查的小工具1--TxQueryRunner
在java程序中,一般使用jdbc连接数据库,比较麻烦,在看传智教程时学了一个工具类,用于简化与数据库之间的操作步骤,就是TxQueryRunner,他是QueryRunner的子类,用起来和他是一样 ...
- java操作数据库增删改查的小工具2--TxQueryRunner
当涉及到多表查询时,如数据库中有两张表分别为t_person和t_address,表结构如下: 其中t_person的外键为t-address的主键aid, 新建两个javaBean类,Person ...
随机推荐
- [译] 用win7自带工具找出svchost.exe的CPU使用率达到100%的元凶
本文是我对自己上一篇转载的博客 <Figuring out why my SVCHOST.EXE is at 100% CPU without complicated tools in Wind ...
- Solidity 智能合约开发
需要专用浏览器或部署节点支持. Solidity (中文:固态,固体)是一种语法与Javascript相似的高级语言,它为Ethereum虚拟机(EVM)编译代码而设计. Solidity是静态类型的 ...
- 导入Excel表格(二)
1. 提取session中的数据.并进行分页操作,上传excel表格,保存到临时表格. 初始化临时表格,提交表单,判断状态是否为真,若为真,则启用 导入到数据库 的按钮:为false,让查询的url ...
- codeforces 235 B lets play osu!
cf235B 一道有意思的题.(据说是美少女(伪)计算机科学家出的,hh) 根据题目要求,就是求ni^2的和. 而n^2=n*(n-1)+n; n*(n-1)=C(n,2)*2: 所以∑ai^2=∑a ...
- 部署 k8s Cluster(下)【转】
上节我们通过 kubeadm 在 k8s-master 上部署了 Kubernetes,本节安装 Pod 网络并添加 k8s-node1 和 k8s-node2,完成集群部署. 安装 Pod 网络 要 ...
- QT_8_Qt中的事件处理_定时器事件_定时器类_事件分发器_事件过滤器_绘图事件_高级绘图事件_绘图设备_QFile 文件读写_QFileInfo文件信息
Qt中的事件处理 1.1. 捕获QLabel中是鼠标事件 1.2. enterevent 鼠标进入 1.3. leaveevent 鼠标离开 1.4. 鼠标按下MyLabel::mousePressE ...
- JS常用字符串处理方法应用总结
这篇文章主要总结了JS常用字符串的处理方法,需要的朋友可以参考下 1.indexOf()方法,从前往后查找字符串位置,大小写敏感,从0开始计数.同理,lastIndexOf() 方法从后往前,两个 ...
- JavaScript中函数的调用
JavaScript中函数的调用 制作人:全心全意 在JavaScript中,函数定义后并不会自动执行,要执行一个函数需要在特定的位置调用该函数,调用函数需要创建调用语句,调用语句包含函数名称和参数. ...
- hdu4407Sum(容斥原理)
http://acm.hdu.edu.cn/showproblem.php?pid=4407 Sum Time Limit: 2000/1000 MS (Java/Others) Memory ...
- LeetCode(86) Partition List
题目 Given a linked list and a value x, partition it such that all nodes less than x come before nodes ...