Node.js学习笔记(三)

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的操作界面。

Node.js学习笔记(三)_第1张图片
启动MongoDB

我们可以在上面进行数字的加减乘除。

use DATABASE_NAME   //创建数据库
show dbs   //查看所有数据库
db.dropDatabase()  // 删除当前状态下的数据库
db.collection.drop()  // 删除当前状态下的数据库集合
db.COLLECTION_NAME.insert(document)  //使用insert或save()插入文档
db.collection.update(
   ,
   ,
   {
     upsert: ,
     multi: ,
     writeConcern: 
   }
)   //更新已有文档
db.collection.remove(
   ,
   {
     justOne: ,
     writeConcern: 
   }
)   //删除文档
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();
    });
});

插入成功后在数据中显示

Node.js学习笔记(三)_第2张图片
插入结果

该代码是在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();
    });
});

查得数据为:


Node.js学习笔记(三)_第3张图片
查询数据

更新数据

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();
    });
});

更新数据得:

Node.js学习笔记(三)_第4张图片
更新数据

删除数据

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学习笔记(三)_第5张图片
删除数据

你可能感兴趣的:(Node.js学习笔记(三))