操作手册:

  npmjs.com

    搜索: mongodb

使用官方的  mongodb 包来操作

   https://github.com/mongodb/node-mongodb-native     //比较麻烦

使用第三方包  mongoose 来操作

  mongoose  基于 MongoDB 官方的 mongodb 包再一次做了封装

  官方网址:   http://mongoosejs.com

mongo数据库连接

var mongoose = require('mongoose')

var Schema = mongoose.Schema

//连接数据库
//指定连接的数据库不需要存在,当你插入第一条数据之后就会自动创建
mongoose.connect('mongodb://localhost/itcast')

// 设计集合结构(表结构)
// 字段名称就是表结构中的属性名称
// 值
// 约束的目的是为了保证数据的安全性, 不要有脏数据
/*var blogSchema = new Schema({
title : String,
author: String,
body : String,
comments: [{body : String, date : Date}]
hidden : Boolean,
meta : {
votes : Number,
favs : Number
}
});
*/

增加数据与表结构设计

var mongoose = require('mongoose')

var Schema = mongoose.Schema

//连接数据库
//指定连接的数据库不需要存在,当你插入第一条数据之后就会自动创建
mongoose.connect('mongodb://localhost/itcast') // 设计集合结构(表结构)
// 字段名称就是表结构中的属性名称
// 值
// 约束的目的是为了保证数据的安全性, 不要有脏数据 /*var blogSchema = new Schema({
title : String,
author: String,
body : String,
comments: [{body : String, date : Date}]
hidden : Boolean,
meta : {
votes : Number,
favs : Number
}
}); */ // 2.设计文档结构
var userSchema = new Schema({
username : {
type : String,
required : true //必须有
},
password : {
type : String,
required : true
},
email : {
type : String
}
}) // 3.将文档结构发布为模型
// mongoose.model 方法就是用来将一个架构发布为 model
// 第一个参数: 传入大写名词单数字符用来表示你的数据名称
// 例如 : 这里的User 最终会变为 users 集合名称
// 第二个参数: 架构 Schema
//
// 返回值: 模型构造函数
var User = mongoose.model('User', userSchema) // 4. 当我们有了模型构造函数之后, 就可以使用这个构造函数对 users // 增加数据 var admin = new User({
username: 'admin',
password: '',
email: 'admin@admin.com'
}) admin.save( function (err, ret) {
if (err) {
console.log('保存失败')
} else {
console.log('保存成功')
console.log(ret)
}
})

 数据查询

var mongoose = require('mongoose')

var Schema = mongoose.Schema

//连接数据库
//指定连接的数据库不需要存在,当你插入第一条数据之后就会自动创建
mongoose.connect('mongodb://localhost/itcast') // 设计集合结构(表结构)
// 字段名称就是表结构中的属性名称
// 值
// 约束的目的是为了保证数据的安全性, 不要有脏数据 /*var blogSchema = new Schema({
title : String,
author: String,
body : String,
comments: [{body : String, date : Date}]
hidden : Boolean,
meta : {
votes : Number,
favs : Number
}
}); */ // 2.设计文档结构
var userSchema = new Schema({
username : {
type : String,
required : true //必须有
},
password : {
type : String,
required : true
},
email : {
type : String
}
}) // 3.将文档结构发布为模型
// mongoose.model 方法就是用来将一个架构发布为 model
// 第一个参数: 传入大写名词单数字符用来表示你的数据名称
// 例如 : 这里的User 最终会变为 users 集合名称
// 第二个参数: 架构 Schema
//
// 返回值: 模型构造函数
var User = mongoose.model('User', userSchema) // 4. 当我们有了模型构造函数之后, 就可以使用这个构造函数对 users // 增加数据 // var admin = new User({
// username: 'admin',
// password: '123456',
// email: 'admin@admin.com'
// }) // admin.save( function (err, ret) {
// if (err) {
// console.log('保存失败')
// } else {
// console.log('保存成功')
// console.log(ret)
// }
// }) // 查询数据
// 查询所有
// User.find(function (err, ret) {
// if ( err ) {
// console.log( err )
// } else {
// console.log( ret )
// }
// }) // 按条件查询 User.find({ username : 'zs' }, function (err, ret) {
if (err) {
console.log(err)
} else {
console.log( ret )
}
})
// 按条件查询单个
User.findOne({ username : 'zs'}, function (err, ret) {
if (err) {
console.log(err)
} else {
console.log( ret )
}
})
 

删除数据

var mongoose = require('mongoose')

var Schema = mongoose.Schema

//连接数据库
//指定连接的数据库不需要存在,当你插入第一条数据之后就会自动创建
mongoose.connect('mongodb://localhost/itcast') // 2.设计文档结构
var userSchema = new Schema({
username : {
type : String,
required : true //必须有
},
password : {
type : String,
required : true
},
email : {
type : String
}
}) // 增加数据 // var admin = new User({
// username: 'zs',
// password: '123456',
// email: 'admin@admin.com'
// }) // admin.save( function (err, ret) {
// if (err) {
// console.log('保存失败')
// } else {
// console.log('保存成功')
// console.log(ret)
// }
// }) var User = mongoose.model('User', userSchema)
// 删除数据 User.remove({
username : 'zs'
}, function (err, ret) {
if ( err ) {
console.log(err)
} else {
console.log('删除成功')
console.log(ret)
}
}) var id = '59f9eb4cc2283e1bac7be51d';
var removestr = {'username': 'zs'}; User.findByIdAndRemove(id, removestr, function(err, res){
if (err) {
console.log("Error:" + err);
}
else {
console.log("Res:" + res);
}
}) var removestr = {'username': 'zs'}; User.findOneAndRemove(removestr, function(err, res){
if (err) {
console.log("Error:" + err);
}
else {
console.log("Res:" + res);
}
})

更新数据

var mongoose = require('mongoose')

var Schema = mongoose.Schema

//连接数据库
//指定连接的数据库不需要存在,当你插入第一条数据之后就会自动创建
mongoose.connect('mongodb://localhost/itcast') // 2.设计文档结构
var userSchema = new Schema({
username : {
type : String,
required : true //必须有
},
password : {
type : String,
required : true
},
email : {
type : String
}
}) var User = mongoose.model('User', userSchema) // 更新数据 var wherestr = {'username': 'admin'}; // 执行更新数据
var updatestr = {'password': 'abcdef'}; User.update(wherestr, updatestr, function(err, res) {
if (err) {
console.log(err);
} else {
console.log(res);
}
}); User.findOneAndUpdate({username : 'admin'},{
password : 'admin123'
},function (err, ret) {
if (err) {
console.log(err)
} else {
console.log('更新成功')
console.log(ret)
}
}) User.findByIdAndUpdate('5d528b7239a9cf20888515d5',{
password : 'admin123'
},function (err, ret) {
if (err) {
console.log(err)
} else {
console.log('更新成功')
console.log(ret)
}
})

nodejs 操作 mongodb 数据库的更多相关文章

  1. koa 基础(二十一)nodejs 操作mongodb数据库 --- 查询数据

    1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...

  2. koa 基础(二十)nodejs 操作mongodb数据库 --- 新增数据

    1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...

  3. 二十六、Nodejs 操作 MongoDb 数据库

    一. 在 Nodejs 中使用 Mongodb 前面的课程我们讲了用命令操作 MongoDB,这里我们看下如何用 nodejs 来操作数据库需要引包: npm install mongodb --sa ...

  4. NodeJS操作MongoDB数据库

    一.node.js对于mongodb的基本操作 1.数据库的开机 首先我们要先对数据库进行开机的操作,建立一个文件夹用于存放数据库文档.如D:\mongo,接下去在cmd当中键入命令-> mon ...

  5. nodejs操作mongodb数据库封装DB类

    这个DB类也算是我经历了3个实际项目应用的,现分享出来,有需要的请借鉴批评. 上面的注释都挺详细的,我使用到了nodejs的插件mongoose,用mongoose操作mongodb其实蛮方便的. 关 ...

  6. Nodejs操作MongoDB数据库示例

    //mongodb_demo.js /** cnpm install mongodb */ var MongoClient = require('mongodb').MongoClient; var ...

  7. Koa 操作 Mongodb 数据库

    node-mongodb-native的介绍 使用基于官方的 node-mongodb-native 驱动,封装一个更小.更快.更灵活的 DB 模块, 让我们用 nodejs 操作 Mongodb 数 ...

  8. NodeJs连接操作MongoDB数据库

    NodeJs连接操作MongoDB数据库 一,介绍 MongoDB是一种文档导向数据库管理系统,由C++撰写而成.介绍如何使用 Node.js 来连接 MongoDB,并对数据库进行操作. Mongo ...

  9. nodeJS中使用mongoose模块操作mongodb数据库

    在实际运用中,对于数据库的操作我们不可能一直在cmd命令行中进行操作,一般情况下需要在node环境中来操作mongodb数据库,这时就需要引入mongoose模块来对数据库进行增删改查等操作. 首先, ...

随机推荐

  1. CodeChef---- February Challenge 2018----Points Inside A Polygon

    链接:https://www.codechef.com/FEB18/problems/POINPOLY Points Inside A Polygon Problem Code: POINPOLY Y ...

  2. flask中request对象获取参数的方法

    从当前request获取内容: method: 起始行,元数据 host: 起始行,元数据 path: 起始行,元数据 environ: 其中的 SERVER_PROTOCOL 是起始行,元数据 he ...

  3. (转)WebRTC信令控制与STUN/TURN服务器搭建

    转:https://rtcdeveloper.com/t/topic/13742 本文将向大家介绍两个方面的知识: WebRTC信令控制 STUN/TURN服务器的搭建 在前面的文章中已经向大家介绍了 ...

  4. HBuilder使用逍遥Android模拟器

    Microvirt HBuilder使用逍遥Android模拟器 1.逍遥模拟器安装 地址: 点我下载 2.连接注意事项 a. 复制adb等文件 HBuilder安装目录中tools文件夹下的三个文件 ...

  5. hook C++

    Intercepting Calls to COM Interfaces(hook com接口) 通过COM组件IFileOperation越权复制文件 代码注入之远程线程篇 使用VC++通过远程进程 ...

  6. ES6正则拓展

    字符串的正则方法 字符串对象共有 4 个方法,可以使用正则表达式:match().replace().search()和split(). ES6 将这 4 个方法,在语言内部全部调用RegExp的实例 ...

  7. mysql5.7无法启动原因排查

    前天刚刚拷了同事最新的MySQL5.7,安装成功后运行良好,今天却无法启动,Navicat也无法连接. 开始排查原因: 1.进入dos命令窗口,输入net start mysql启动,提示 百度出现错 ...

  8. 微PE.PE工具

    1.ZC:想要 干掉Win7x64的密码(没人用的机子,不知道密码,不想重装OS) 1.1.超详细微pe工具箱使用教程 _ 微pe工具箱怎么用.html(http://www.360doc.com/c ...

  9. 20191127 Spring Boot官方文档学习(9.1-9.3)

    9."使用方法"指南 9.1.Spring Boot应用程序 9.1.1.创建自己的FailureAnalyzer FailureAnalyzer被包装在FailureAnalys ...

  10. MySQL-快速入门(9)视图

    1.什么是视图 视图是一个虚表.视图可以进行查询.增加.修改.删除.进行修改.增加.删除,将影响基本表中的数据. 2.视图相对基本表的优势 1>简单化:看到的就是想要的字段列,可以简化后续查询. ...