美文网首页
Node.js学习笔记(三)

Node.js学习笔记(三)

作者: GallonLau | 来源:发表于2017-12-21 17:03 被阅读0次

    MongoDB

    MongoDB是一个基于分布式文件存储的数据库。它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
      MongoDB安装
    MongoDB安装比较简单,直接在官网下载最新的安装包解压到本地,配置好环境变量之后,命令行启动:

    mongond --dbpath D:\MongoDB\data\db //-dbpath 后面是data的db文件夹
    

    启动服务后,新增命令行mongo就可以进行数据操作。
      MongoDB服务配置
    data文件夹下新建dblog 文件夹,创建一个配置文件。

    systemLog:
        destination: file
        path: D:\MongoDB\data\log\mongod.log
    storage:
        dbPath: D:\MongoDB\data\db
    

      安装MongoDB服务

    mongod --config "D:\MongoDB\mongod.cfg" --install
    

      MongoDB基本操作
    在这里用Robo 3T 可视化数据。命令行mongo可启动MongoDB服务,然后出现类似Node的操作界面。

    启动MongoDB
    我们可以在上面进行数字的加减乘除。
    use DATABASE_NAME   //创建数据库
    show dbs   //查看所有数据库
    db.dropDatabase()  // 删除当前状态下的数据库
    db.collection.drop()  // 删除当前状态下的数据库集合
    db.COLLECTION_NAME.insert(document)  //使用insert或save()插入文档
    db.collection.update(
       <query>,
       <update>,
       {
         upsert: <boolean>,
         multi: <boolean>,
         writeConcern: <document>
       }
    )   //更新已有文档
    db.collection.remove(
       <query>,
       {
         justOne: <boolean>,
         writeConcern: <document>
       }
    )   //删除文档
    db.collection.find(query, projection)   //查询文档
    

    MongoDB还有许多高级特性,这里不作列举,主要是介绍Node.js连接MongoDB。

    创建数据库

    const MongoClient = require('mongodb').MongoClient;
    const url = 'mongodb://localhost:27017/table';
    
    MongoClient.connect(url,function (err, db) {
        if(err) throw err ;
        console.log("数据库已创建!")
        db.close();
    })
    

    创建集合

    
    const MongoClient = require('mongodb').MongoClient;
    consturl = "mongodb://localhost:27017/table";
     
    MongoClient.connect(url, function(err, db) {
      if (err) throw err;
      db.createCollection("row", function(err, res) {
        if (err) throw err;
        console.log("创建集合!");
        db.close();
      });
    });
    
    

    插入数据

    const MongoClient = require('mongodb').MongoClient;
    const url = 'mongodb://localhost:27017/example';
    
    const insertData = function (db, callback) {
        const collection = db.collection('table');
        const data = [{"name":"刘佳伦","age":27,"sex":"man"},{"name":"gallon","age":25,"sex":"man"}];
        collection.insert(data,function (err,res) {
            if(err){
                console.log('Error' + err);
                return
            }
            callback(res);
        })
    };
    
    MongoClient.connect(url,function (err, db) {
        console.log('连接成功!')
        insertData(db,function (res) {
            console.log(res);
            db.close();
        });
    });
    

    插入成功后在数据中显示

    插入结果
    该代码是在mongdb 2.2.33版本下进行的,高版本有点api发生变化,注意关注官方文档。

    查询数据

    const MongoClient = require('mongodb').MongoClient;
    const url = 'mongodb://localhost:27017/example';
    
    
    const selectData = function(db, callback) {
        //连接到表  
        const collection = db.collection('table');
        //查询数据
        const whereStr = {"name":'刘佳伦'};
        collection.find(whereStr).toArray(function(err, result) {
            if(err){
                console.log('Error:'+ err);
                return;
            }
            callback(result);
        });
    }
    
    MongoClient.connect(url, function(err, db) {
        console.log("连接成功!");
        selectData(db, function(result) {
            console.log(result);
            db.close();
        });
    });
    
    

    查得数据为:


    查询数据

    更新数据

    const MongoClient = require('mongodb').MongoClient;
    const url = 'mongodb://localhost:27017/example';
    
    const updateData = function(db, callback) {
        //连接到表  
        const collection = db.collection('table');
        //更新数据
        const whereStr = {"name":'刘佳伦'};
        const updateStr = {$set: { "introduce" : "美貌才华与一身" }};
        collection.update(whereStr,updateStr, function(err, result) {
            if(err){
                console.log('Error:'+ err);
                return;
            }
            callback(result);
        });
    }
    
    MongoClient.connect(url, function(err, db) {
        console.log("连接成功!");
        updateData(db, function(result) {
            console.log(result);
            db.close();
        });
    });
    

    更新数据得:

    更新数据
    删除数据
    const MongoClient = require('mongodb').MongoClient;
    const url = 'mongodb://localhost:27017/example';
    
    const delData = function(db, callback) {
        //连接到表  
        const collection = db.collection('table');
        //删除数据
        const whereStr = {"name":'刘佳伦'};
        collection.remove(whereStr, function(err, result) {
            if(err){
                console.log('Error:'+ err);
                return;
            }
            callback(result);
        });
    }
    
    MongoClient.connect(url, function(err, db) {
        console.log("连接成功!");
        delData(db, function(result) {
            console.log(result);
            db.close();
        });
    });
    

    删除数据


    删除数据

    相关文章

      网友评论

          本文标题:Node.js学习笔记(三)

          本文链接:https://www.haomeiwen.com/subject/xdbgixtx.html