一、在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操作数据库增删改查的更多相关文章

  1. MongoDB学习day07--mongoose入门,数据库增删改查,默认参数,模块化

    一.mongoose介绍 Mongoose 是在 node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具. Mongoose 是 NodeJS 的驱动, 不能作为其他语言的驱动. M ...

  2. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...

  3. MongoDB学习总结(二) —— 基本操作命令(增删改查)

    上一篇介绍了MongoDB在Windows平台下的安装,这一篇介绍一下MongoDB的一些基本操作命令. 下面我们直奔主题,用简单的实例依次介绍一下. > 查看所有数据库 (show dbs) ...

  4. Django-Model操作数据库(增删改查、连表结构)

    一.数据库操作 1.创建model表         基本结构 1 2 3 4 5 6 from django.db import models     class userinfo(models.M ...

  5. phpcms 操作数据库 增删改查

    数据库的其他类继承的都是libs/class/model.class.php 这里面有写好的操作数据库的常用方法 1.增 insert($data, $return_insert_id = false ...

  6. JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能

    一.分页工具类 package blank.util;import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; ...

  7. Nodejs操作MySQL - 增删改查

    先安装npm模块项目 npm init 安装mysql npm install mysql --save Nodejs 连接msyql // 导入mysql const mysql = require ...

  8. java操作数据库增删改查的小工具1--TxQueryRunner

    在java程序中,一般使用jdbc连接数据库,比较麻烦,在看传智教程时学了一个工具类,用于简化与数据库之间的操作步骤,就是TxQueryRunner,他是QueryRunner的子类,用起来和他是一样 ...

  9. java操作数据库增删改查的小工具2--TxQueryRunner

    当涉及到多表查询时,如数据库中有两张表分别为t_person和t_address,表结构如下: 其中t_person的外键为t-address的主键aid, 新建两个javaBean类,Person ...

随机推荐

  1. # Transition:添加弹出过渡效果

    # Transition:添加弹出过渡效果 通过鼠标的单击.获得焦点,被点击或对元素任何改变中触发,并平滑地以动画效果改变CSS的属性值. W3C-transition MDN-transition ...

  2. Android(java)学习笔记164:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例)

    1.首先我们看看下面这个需求: 这里我们在A界面上,点击这个按钮"选择要发送的短信",开启B界面上获取网络上各种短信祝福语,然后B界面会把这些网络祝福语短信发送给A界面到" ...

  3. centos6上安装mysql8.0版本

    本博客是采用yum源的方式安装,非常的方便和快捷.(redhat 与centos7 等操作系统都可以采用此方法,步骤大体一致) mysql官网地址:   https://dev.mysql.com 开 ...

  4. 使用正则进行HTML页面属性的替换

    使用正则表达式拼接富文本框 package com.goboosoft.common.utils; import org.apache.commons.lang3.StringUtils; impor ...

  5. Java集合(四)--基于JDK1.8的ArrayList源码解读

    public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...

  6. OpenCV2:第二章 创建图像并显示

    一.简介 相当于在PS中,新建一个画布 二.CvMat类/LPLImage和CvMat结构体 参考: OpenCV2:第一章 图像表示 三.create() Mat m(2,2,CV_8UC3); m ...

  7. NFS和DHCP服务

    1. NFS NFS,Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS: NFS允许一个系统在网络上与他人共享目录和文件 ...

  8. UVALive - 6267 Beer Pressure

    题意: 给定n个酒吧, 然后有k个学生投票今晚去哪个酒吧, 然后会有a个(a<=k)学生先投票了, 先投的票会影响后面的人投票的概率, 求每个酒吧今晚去的概率. 分析: 我们可以从最初的状态开始 ...

  9. 大数据学习——linux常用命令(四)

    四 查到命令 1 查找可执行的命令所在的路径 which ls 查ls命令所在的路径 2 查找可执行的命令和帮助的位置 whereiis ls 3 从某个文件夹开始查找文件 find / -name ...

  10. xtu summer individual 1 A - An interesting mobile game

    An interesting mobile game Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on H ...