zoukankan      html  css  js  c++  java
  • 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数据库

     1 var express = require("express");
     2 //数据库引用
     3 var MongoClient = require('mongodb').MongoClient;
     4 var app = express();
     5 //数据库连接的地址,最后的斜杠表示数据库名字
     6 var shujukuURL = 'mongodb://localhost:27017/news';
     7 app.get("/",function(req,res){
     8 //连接数据库,这是一个异步的操作
     9 MongoClient.connect(shujukuURL, function(err, db) {
    10 res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
    11 if(err){
    12 res.send("数据库连接失败");
    13 return;
    14 }
    15 res.write("恭喜,数据库已经成功连接 
    ");
    16 db.collection("user").insertOne({"name":"哈哈"},function(err,result){
    17 if(err){
    18 res.send("数据库写入失败");
    19 return;
    20 }
    21 res.write("恭喜,数据已经成功插入");
    22 res.end();
    23 //关闭数据库
    24 db.close();
    25 });
    26 });
    27 });
    28 app.listen(8020);

    三、Nodejs查找Mongodb数据库集合

     1 MongoClient.connect(dbUrl,function(err,db){
     2 if(err){ /*数据库连接失败*/
     3 console.log('数据库连接失败');
     4 return;
     5 }
     6 var result=[];
     7 var userRel=db.collection('user').find();
     8 //res.send(userRel);
     9 userRel.each(function(err, doc) {
    10 if(err){
    11 res.write("游标遍历错误");
    12 return;
    13 }
    14 if (doc != null) {
    15 result.push(doc);
    16 } else {
    17 console.log(result);
    18 //遍历完毕
    19 db.close();
    20 res.render("index",{
    21 "result" : result
    22 });
    23 }
    24 });
    25 })

    四、Nodejs给Mongodb增加数据

     1 MongoClient.connect(dbUrl,function(err,db){
     2 if(err){
     3 return
     4 }
     5 db.collection('user').insertOne({
     6 "name" : name,
     7 "age" : age,
     8 "score" : {
     9 "shuxue" : shuxuechengji,
    10 "yuwen" : yuwenchengji
    11 }
    12 },function(err,result){
    13 if(err){
    14 console.log('写入数据失败');
    15 }
    16 //关闭数据库
    17 db.close();
    18 //res.redirect('/add');
    19 res.redirect('/'); /*路由跳转*/
    20 res.end();
    21 ////res.location('/add')
    22 })
    23 })

    五、Nodejs修改Mongodb数据

     1 MongoClient.connect(dbUrl,function(err,db){
     2 if(err){
     3 console.log('数据库连接错误');
     4 return;
     5 }
     6 db.collection('user').updateOne({"_id":ObjectID(id)}, {
     7 "name": name,
     8 "age": age,
     9 "score": {"shuxue": shuxue,
    10 "yuwen": yuwen
    11 }
    12 },function (err, results) {
    13 console.log(results);
    14 db.close();
    15 res.redirect('/'); /*路由跳转*/
    16 res.end('end');
    17 })
    18 })

    六、Nodejs删除Mongodb数据

     1 MongoClient.connect(dbUrl,function(err,db){
     2 if(err){
     3 throw new Error("数据库连接失败");
     4 return;
     5 }
     6 db.collection('user').deleteOne({"_id":ObjectID(id)},function(error,result){
     7 if(error)
     8 {
     9 throw new Error('删除数据失败');
    10 return;
    11 }
    12 db.close();
    13 res.redirect('/'); /*路由跳转*/
    14 })
    15 })

     七、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();  /*关闭数据库*/
        })
    
    
    })
  • 相关阅读:
    Django ORM操作
    django路由系统
    django(模版)
    mysql(函数,存储过程,事务,索引)
    mysql(单表查询,多表查询,MySQl创建用户和授权,可视化工具Navicat的使用)
    pycharm基本用法
    JS在浏览器中输出各种三角形
    异常处理,内置方法(__new__,__init__,__del__析构方法,单例模式,item系列)
    反射,内置方法,__str__ __repr__
    C. Swap Letters 01字符串最少交换几次相等
  • 原文地址:https://www.cnblogs.com/xc-chejj/p/10896936.html
Copyright © 2011-2022 走看看