MongoDB介绍:

MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换带来的时间空间开销。

 

Mongoose介绍:

是MongoDB的一个对象模型工具,它将数据库中的数据转换为JavaScript对象以供你在应用中使用,封装了MongoDB对文档的的一些增删改查等常用方法,

让NodeJS操作Mongodb数据库变得更加灵活简单。

 

预备:

一定要先开启mongodb服务,进入mongodb\bin\,执行mongod --dbpath d:\data

d:\data是存储数据的地方,通常位于mongodb安装的根目录下。

 

第一步,在项目里安装mongoose,并引入

// 安装

cnpm install mongoose --save

// 引入

const mongoose = require('mongoose');

 

第二步,连接数据库

// 连接本地的数据库

let db = mongoose.createConnection('mongodb://localhost/testmongoose');

接着:

// 设置数据类型

let monSchema = new mongoose.Schema({
    name: {
        type: String,
        default: 'username'
    },
    age: {
        type: Number
    },
    gender: {
        type: String,
        default: '女'
    }
});

// 选择集合

let MonModel = db.model('user', monSchema);

// 模拟一个数据集

let content = {name: 'nick', age: 23, gender: ''};

// 实例化对象并插入数据

let monInsert = new MonModel(content);

// 保存并关闭连接

monInsert.save((err) => {
    if(err) {
        console.log(err);
    } else {
        console.log('成功插入数据');
    }
    // 关闭数据库
    db.close();
});

执行这个node文件,插入数据成功!

叮叮~~数据库里面有数据啦!

 

mongo.js完整代码:

// 引入模块
const mongoose = require('mongoose');
// 连接数据库
let db = mongoose.createConnection('mongodb://localhost/testmongoose');
// 设置数据类型
let monSchema = new mongoose.Schema({
    name: {
        type: String,
        default: 'username'
    },
    age: {
        type: Number
    },
    gender: {
        type: String,
        default: '女'
    }
});
// 选择集合
let MonModel = db.model('user', monSchema);
// 数据集
let content = {name: 'Nick', age: 23, gender: '男'};
// 实例化对象并插入数据
let monInsert = new MonModel(content);
monInsert.save((err) => {
    if(err) {
        console.log(err);
    } else {
        console.log('成功插入数据');
    }
    // 关闭数据库
    db.close();
});

 

增删改查完整代码:

// 引入模块
const mongoose = require('mongoose');
// 连接数据库
let db = mongoose.createConnection('mongodb://localhost/testmongoose');
// 设置数据类型
let monSchema = new mongoose.Schema({
    name: {
        type: String,
        default: 'username'
    },
    age: {
        type: Number
    },
    gender: {
        type: String,
        default: '女'
    }
});
// 选择集合
let MonModel = db.model('user', monSchema);

// 插入数据
function insertData () {
    // 数据集
    let content = {name: 'Nick', age: 23, gender: '男'};
    // 实例化对象并插入数据
    let monInsert = new MonModel(content);
    monInsert.save((err) => {
        if(err) {
            console.log(err);
        } else {
            console.log('成功插入数据');
        }
        // 关闭数据库
        db.close();
    });
}

// 删除数据
function deleteData () {
    // 要删除的条件
    let del = {name: 'Nick'};
    MonModel.remove(del, (err, result) => {
        if(err) {
            console.log(err);
        } else {
            console.log('delete: ' + result);
        }
        // 关闭数据库
        db.close();
    });
}

// 修改数据
function updateData() {
    // 原数据字段值
    let oldValue = {name: 'Nick'};
    // 单条件更新
    let newData1 = {$set: {name: '风夏'}};
    // 多条件更新
    let newData2 = {$set: {name: '风夏', gender: '女'}};
    MonModel.update(oldValue, newData2, (err, result) => {
        if(err) {
            console.log(err);
        } else {
            console.log('update');
        }
        // 关闭数据库
        db.close();
    });
}

// 查询数据
function findData() {
    // 要查询的字段
    let content = {name: '风夏'};
    let field = {name: 1, age:1, gender:1};
    MonModel.find(content, field, (err, result) => {
        if(err) {
            console.log(err);
        } else {
            console.log(result);
        }
    });
}

//insertData();
//deleteData();
//updateData();
findData();

 

posted on 2017-02-18 14:11  Asina  阅读(302)  评论(0编辑  收藏  举报