nodejs实践-MongoDB
| laiqun@msn.cn | 
Contents
1. 特点:
- 使用BSON存储数据
- 支持相对丰富的查询操作
- 支持索引
- 副本集
- 分片
- 无模式
- 部署简单方便
2. 开始使用
- 检查是否安装 which mongod 
- 创建目录 mkdir -p /data/db 
- 检测磁盘空间是否够用 df -lh 
- 启动 - 当前进程的方法 mongod –dbpath=/data/db –port=27017 - 守护进程的方法 mongod –dbpath=/data/db –port=27017 –fork –syslog - 日志的查看 tail -f /var/log/message 监控文件的修改 指定日志 –log= - 结束后台 kill 进程号 - 运行客户端 mongo 127.0.0.1:27017 - show dbs - use part9 - db.users.insert({“username”:“Sid”}); - show collections - db.users.find() - db.users.insert({“username”:“Zoe”,“group”:“reporter”}); - db.users.find().count(); - db.users.insert({“username”:“Zoe”,“group”:“programmer”}); - ad.users.find({“_id”:ObjectID(“”)}) - //条件 更新内容 更新配置 - ad.users.update({“username”:“Zoe”},{$set:{“group”:“writer”},{multi:true}}); - //未指定 则属性就没了 必须把所有值指定 条件 
 db.users.save({“_id”:ObjectId(“xxxx”)},“group”:“reporter”);- db.users.remove({“group”:“reporter”}) - db.users.remove({“group”:“reporter”},true)//第二个参数是单行删除 - db.users.remvoe({})//删除全部文档 - db.user.drop();//索引和文档都删除 - 3. 使用Mongoose操作MongoDB
是一种ORM模块,将对象对应为结果
- 安装 cnpm install mongoose
编写 model.js Model 与 Schema
var mongoose = require('mongoose');
var uri = 'mongodb://username:password@hostname:port/databasename';
uri = "mongodb://localhost/part9";
mongoose.connect(uri);
var BookSchema = new mongoose.Schema({
  name:String,
  author:String,
  publichTime:Date
});
mongoose.model('Book',BookSchema);编写 insert.js
var mongoose = require('mongoose');
require('./model.js');//将model.js中的代码执行一遍var Book = mongoose.model('Book');//返回Schemavar book = new Book({
   name ="sod",
   author:"green",
   publishTime: new Date()
});
book.author ='Jim';
book.save(funtion(err){
   console.log('save states',err?'failed':'success');
});编写find.js
var mongoose = require('mongoose');
require('./model.js');//将model.js中的代码执行一遍var Book = mongoose.model('Book');//返回Schema
book.find({},funtion(err,docs){
   if(err){
       console.log('err',err);
       return ;
   }
   console.log('result',docs);
});编写findone.js
var mongoose = require('mongoose');
require('./model.js');//将model.js中的代码执行一遍var Book = mongoose.model('Book');//返回Schema
book.findOne({author:"Jim"},funtion(err,doc){
   if(err){
       console.log('err',err);
       return ;
   }
   doc.author = 'Jame';
   doc.save();
   console.log('findOne result',doc);
});编写remvoe.js
var mongoose = require('mongoose');
require('./model.js');//将model.js中的代码执行一遍var Book = mongoose.model('Book');//返回Schema//第一个参数为条件
book.findOne({author:"Jim"},funtion(err,doc){
   if(err){
       console.log('err',err);
       return ;
   }
   if(doc){
       doc.remove();
   }
});编写condition.js
var mongoose = require('mongoose');
require('./model.js');//将model.js中的代码执行一遍var Book = mongoose.model('Book');//返回Schema//第一个参数为条件  联合条件var cond = {
   $or:[   //or 可以改为and 还有大于小于等操作
     {author:"Jane"},
     {author:"Jim"}
   ]
};
book.find(cond,funtion(err,docs){
   if(err){
       console.log('err',err);
       return ;
   }
console.log('cond:',cond,'result:',docs)
});4. 在express中使用,组织数据库相关代码
使用脚手架生成框架
express mongooseExpress
config.js
module.exports ={
  mongodb:"mongodb://localhost/part9"
};编写mongoose.js
var mongoose = require('mongoose');
var config = require('./config.js');
module.exports = function(){
  var db = mongoose.connect(config.mongodb);
  return db;
}nodejs实践-MongoDB的更多相关文章
- nodejs和mongodb实践
		首先,当然是都安装了nodejs 和mongodb了.这必须是前提条件. 现在我们要用nodejs连接mongodb数据库了.我这里只是一个非常非常简单是实践,初学嘛.更深入的学习之后,我会仔细写笔记 ... 
- 大熊君大话NodeJS之------MongoDB模块(额外篇)
		一,开篇分析 这篇属于扩展知识篇,因为在下面的文章中会用到数据库操作,所以今天就来说说它(Mongodb模块). (1),简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为 ... 
- nodejs操作mongodb
		一.下载地址 https://www.mongodb.com/download-center#community 二.控制台操作mongodb 1.安装完后添加环境变量. 2.在某个根目录下新建dat ... 
- nodejs链接mongodb数据库
		nodeJs链接mongodb数据库有两种方式,第一种是利用官方自己开发的npm包mongodb链接,第二种是利用第三方npm包mongoose链接:这里如果是window操作系统,建议用mongoo ... 
- nodejs实践-代码组织
		nodejs实践-代码组织 laiqun@msn.cn Contents 1. 代码组织 1. 代码组织 更新版本 npm install -g n n latest 项目文件组织 MVC 前后端代码 ... 
- Nodejs中Mongodb使用
		Mongodb使用 打开解压后的Mongodb文件夹,新建data.logs文件夹,并在logs文件夹中新建mongodb.log文档. 添加后Mongod文件夹示意图: 用cmd命令行启动Mongo ... 
- NodeJS+Express+MongoDB
		一.MongoDB MongoDB是开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序丰富:高伸缩性:MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言 ... 
- NodeJs操作MongoDB之分页功能与常见问题
		NodeJs操作MongoDB之分页功能与常见问题 一,方法介绍 1,聚合操作之count count()方法可以查询统计符合条件的集合的总数 db.User.count(<query>) ... 
- NodeJs操作MongoDB之多表查询($lookup)与常见问题
		NodeJs操作MongoDB之多表查询($lookup)与常见问题 一,方法介绍 aggregate()方法来对数据进行聚合操作.aggregate()方法的语法如下 1 aggregate(ope ... 
随机推荐
- 在CentOS linux上通过yum安装JDK<转>
			卸载centos自带的jdk 1.查看当前的jdk版本,并卸载 [root@localhost opt]# rpm -qa|grep java java-1.6.0-openjdk-1.6.0.3 ... 
- Learning BSD.sys/queue.h
			This file includes 4 data-structures.. Insteresting because they are written in 1994.. to make it ea ... 
- SQL多表连接查询以及mysql数据库、sqlserver数据库常见不同点
			mysql数据库表及数据准备语句: USE test; DROP TABLE IF EXISTS `teacher_table`; DROP TABLE IF EXISTS `student_tabl ... 
- OBIEE 简介
			Oracle BIEE历史: BIEE:全称Oracle Business Intelligence Enterprise Edition. Oracle公司在05年底收购Siebel,取其前端开发工 ... 
- Redis简介二
			一.直接安装 1.Windows版本的Redis下载地址:https://github.com/dmajkic/redis/downloads ,选择一个你想要下载的版本下载即可~ ... 
- C语言介绍
			以下东东转自百度百科 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.它由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言已先后被 ... 
- XBOX360 硬盘玩游戏
			首先PC端需要到flashFXP这个软件,因为级别不够上传不了就发个下载网站各位自己下一下吧.http://www.oyksoft.com/soft/14875.html#oyksoftdown 好了 ... 
- SMO 的环境
			Microsoft SQL Server System CLR Types - http://go.microsoft.com/fwlink/?LinkId=123721&clcid=0x40 ... 
- VoIP的话音质量测量方法
			严重的呼叫质量和性能管理问题会影响VoIP (Voice over IP)系统的运作.网络管理员等人需要理解基本的呼叫质量测量技术才能很好地监测.管理和诊断在VoIP中出现的这些问题.本文介绍了常用的 ... 
- VBS脚本实例
			一.一键升级哨位台核心板程序脚本. ############################################################ Set ws=WScript.Create ... 
