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: , 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();

MongoDB学习之mongoose的更多相关文章

  1. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  2. 【转】mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    mongoDB 学习笔记纯干货(mongoose.增删改查.聚合.索引.连接.备份与恢复.监控等等) http://www.cnblogs.com/bxm0927/p/7159556.html

  3. MongoDB学习笔记二- Mongoose

    MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...

  4. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  5. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  6. Mongodb学习笔记一(Mongodb环境配置)

    Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...

  7. MongoDB学习记录

    一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...

  8. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

  9. MongoDB学习:(二)MongoDB简单使用

    MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...

随机推荐

  1. SQL SERVER下有序GUID和无序GUID作为主键&聚集索引的性能表现

     背景 前段时间学习<Microsoft SQL Server 2008技术内幕:T-SQL查询>时,看到里面关于无序GUID作为主键与聚集索引的建议,无序GUID作为主键以及作为聚集索引 ...

  2. 【转】xml文件中加入本地的dtd约束文件

    首先,我是以加载Struts2的来演示: 1 我们可以看到,越是文件中的 显示的是PUBLIC, 即从网络中获取约束文件dtd ,此时我需要将其配置成从自己的本地来获取dit文件 首先,先要有stru ...

  3. VMware下安装CentOS7 无法通过桥接模式进行联网

    #修改配置# vi /etc/sysconfig/network-scripts/ifcfg-ens33  (ifcfg-ens33,不同的机器名称不一样,但大都为ifcfg-ensxxx) 把文件中 ...

  4. 119th LeetCode Weekly Contest K Closest Points to Origin

    We have a list of points on the plane.  Find the K closest points to the origin (0, 0). (Here, the d ...

  5. ansys 14.0

    张建伟等.2012.12 人民邮电 一天一本书,这种感觉 真是爽啊. 但我觉得什么也没学到. 话说回来,此authors 确实书写得比较一般,实例不如百度文档上的WORD实例,理论不如我看的那本CFD ...

  6. webpacke

    webpacke   安装 首先要安装 Node.js, Node.js 自带了软件包管理器 npm 用npm 安装webpack $ npm install webpack -g 此时 Webpac ...

  7. Q205 同构字符串

    给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的. 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序.两个字符不能映射到同一 ...

  8. JS调用百度地图。

    必要条件:先注册百度开发者账号,然后申请调用地图的密钥(AK). 测试demo: 说明:百度开发平台上有很多demo,如下图:

  9. spark第七篇:Spark SQL, DataFrame and Dataset Guide

    预览 Spark SQL是用来处理结构化数据的Spark模块.有几种与Spark SQL进行交互的方式,包括SQL和Dataset API. 本指南中的所有例子都可以在spark-shell,pysp ...

  10. spring利用cors处理跨域问题

    参考 http://blog.csdn.net/isea533/article/details/50449907 写的很全面 http://blog.csdn.net/a317560315/artic ...