操作手册:

  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. leetcode-mid-math-202. Happy Number-NO

    mycode 关键不知道怎么退出循环.............其实只要有一个平方和以前出现过,那么整个计算过程就会重复 参考: class Solution(object): def isHappy( ...

  2. Hook exe 和 file

    c#拦截程序的运行 EasyHook  + win7 64位 LocalHook.GetProcAddress("Kernel32.dll", "CreateProces ...

  3. node服务通过Jenkins上线流程

    构建流程 构建服务器: 拉取指定分支代码 构建服务器: 安装依赖 构建服务器: 执行构建 构建服务器: 如果上线流程,则在 git 上创建 tag,供回滚使用 构建服务器:打包 node 服务代码,和 ...

  4. ef和ashx的简单测试

    在这里.小弟我默默的计算了一下用一般处理程序和MVC配合EF,到底哪个快,事实问题是我感觉都差不多,因为用的是EF,所以要提高访问速率,我觉得还是要从数据访问做起: 一般处理程序代码: private ...

  5. 【mysql】如何通过navicat配置表与表的多对一关系,一对一关系?设计外键的效果

    背景: 现在要将接口自动化测试结果持久化,当前只是每次运行接口测试,将测试结果通过邮件发送给项目组成员.邮件内容如下: 表设计: 为了呈现这个结果:我设计了2张表run_result和run_deta ...

  6. python-接口开发flask模块(三)开发登陆接口

    #写一个login的接口,实现的功能是输入用户名和密码,如果数据库中有该用户,那么就去redis中插入 登陆产生的sign值插入redis中有效时间600s import flask import t ...

  7. Java定时器Timer

    Java定时器Timer在JDK库中,Timer类主要负责计划任务的功能,也就是在指定的时开始执行某一个任务.Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类,执行计划任 ...

  8. C# Console.WriteLine堵塞进程

    最近在项目中控制台为了调试使用Console.WriteLine(),发现在高并发的情况下会出现假锁状态,断点调试发现卡在Console.WriteLine那.需要进行一个键盘输入才可以继续. 关于C ...

  9. win10安装anaconda及tensorflow1.9版本

    前言 因为之前的anaconda的conda命令不能用,又找不到原因,所以就决定重装anaconda,然后再装个tensorflow环境.. 正文 可以去官网下载,也可以去清华的开源软件镜像站下载ht ...

  10. 【Linux开发】./configure,make,make install的作用

    这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC ...