摘要:

  最近在开发项目使用了数据库MongoDB,我将它的使用方法整理下分享给大家。至于mongoDB有什么优点,大家可以到官网去看。

安装:

  首先我们需要到官网下载适合自己系统的mongodb。

windows:

  你可以在命令窗口中输入下面命令来查看自己的系统参数,选择对应的版本

wmic os get osarchitecture

如果你下载的是zip文件,只需要按照下面的步骤来就可以安装了:

1、将下载的文件解压缩到自己想要安装的目录,比如:D:\test\。将解压的文件夹名改成mongodb,在mongodb文件里面包含bin文件等。

2、创建数据和日志仓库,新建文件夹D:\test\mongodb\data\db和D:\test\mongodb\data\log,在log文件夹下新建一个日志文件MongoDB.log。

3、设置数据仓库路径并启动,MongoDB默认的数据仓库是\data\db,我们需要更改为自己设置的路径,在命令提示窗内输入

>d:

d:>cd D:\test\mongodb\bin

D:\test\mongodb\bin>mongod --dbpath "D:\test\mongodb\data"

如果控制台看到类似的信息就说明安装成功了

注意:关闭该窗口就关闭了mongodb的服务,如果你想关闭服务可以使用Ctrl+c来关闭。

4、测试连接,重新打开一个命令窗口,进入到上面的目录下,然后输入mongo或者mongo.exe当出现下面信息时说明测试通过,此时我们已经进入了mongo的默认数据库test这个数据库。

5、上面提到关闭窗口mongo的服务就被关闭了,这样的话每次我们需要mongoDB服务时都要开启mongod.exe程序,比较麻烦。我们可以将mongo设置为windows的默认服务。

在mongodb的bin目录下执行下面命令

mongod --dbpath "D:\test\mongodb\data\db" --logpath "D:\test\mongodb\data\log\MongoDB.log" --install --serviceName "MongoDB"

参数详解:

–install : 安装

–remove : 移除

–serviceName <name> : 服务名称

–serviceDisplayName <display-name> : 服务列表显示名称

–serviceDescription  <description> : 服务描述

设置好之后只需要执行下面命令就可以启动mongoDB

NET START MongoDB

6、关闭和删除

关闭:

net stop MongoDB

删除:

sc.exe delete MongoDB

如果你下载的是msi文件,只需要双击安装文件,一步一步安装就可以。最后你会在C:\Program Files目录下发现MongoDB 2.6 Standard文件。这个文件和我们下载的zip文件类似,我们只需要按照zip文件安装的方法安装即可。

MAC:

如果你的系统是mac,有两种方法安装

1、使用brew,只需要执行下面命令就可以安装mongoDB

brew install mongodb或者
brew install mongodb --with-openssl在或者
brew install mongodb --devel

2、常规安装

先down下来文件包

curl -O http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.6.tgz解压
tar -zxvf mongodb-osx-x86_64-2.6.6.tgz

然后将文件复制到安装目录

mkdir -p mongodb
cp -R -n mongodb-osx-x86_64-2.6.6/ mongodb

3、将安装路径配置到rc file

export PATH=<mongodb-install-directory>/bin:$PATH

4、创建数据仓库

mkdir -p /data/db

5、设置数据路径

mongod --dbpath <path to data directory>

注意:不要将mongod.exe文件在公共网内可见,因为MongoDB是在可信任的环境中执行的。

操作数据库:

 启动mongodb,创建数据库mongotest

use mongotest;

向mongotest的user表插入数据

db.user.insert({
  name:'zhangsan',
  age:20
});

我们在node环境下来操作数据库

mkdir myproject
cd myproject

创建package.json文件如下

{"name": "myproject","version": "1.0.0","description": "My first project","main": "index.js","repository": {"type": "git","url": "git://github.com/christkv/myfirstproject.git"},"dependencies": {"mongodb": "~2.0"},"author": "Christian Kvalheim","license": "Apache 2.0","bugs": {"url": "https://github.com/christkv/myfirstproject/issues"},"homepage": "https://github.com/christkv/myfirstproject"
}

执行npm install命令来安装mongoDB模块。新建文件mongotest.js,内容如下:

var mongodb = require('mongodb');var server = new mongodb.Server("127.0.0.1",27017,{});//本地27017端口new mongodb.Db('mongotest',server,{}).open(function(error,client){//数据库:mongotestif(error) throw error;var collection = new mongodb.Collection(client,'user');//表:usercollection.find(function(error,cursor){cursor.each(function(error,doc){if(doc){console.log("name:"+doc.name+" age:"+doc.age);}});});
});

运行:

node mongodbTest.js

输出结果为

命令:

  1、基本

show dbs 显示数据库列表
use db 进入db数据库
show collections 显示数据库中的集合

  2、增

db.table.save({"id":1}) 创建名为table的表,并新增一条数据
db.table.insert({"id":1}) 在table表中插入一条新数据,,如果没有table表,mongodb会自动创建

  3、改

db.users.update({"id":10},{"name": "zhangsan"}) 修改id=10的记录name=zhangsan,第一个参数是查找条件,第二个参数是修改内容,除了主键,其他内容会被第二个参数的内容替换,主键不能修改

  4、删

db.table.remove()  删除表table的所有数据,但是表还存在
db.table.remove({"id": 1}) 删除table表的id=1的记录
db.table.drop() 删除表table
db.runCommand({"drop","table"}) 删除表table
db.runCommand({"dropDatabase": 1}) 删除当前数据库

  5、查

db.table.find() 查找table表下的所有数据

db.collection.find({ "key" : value })

查找key=value的数据
db.table.findOne() 查找table表的第一条记录
db.collection.find({ "key" : { $gt: value } }) 查找key > value的数据

  6、排序

db.collection.find().sort({ "key1" : -1 ,"key2" : 1 })

将查找的结果按照第一个字段降序,第二个字段升序排

附录:

  http://docs.mongodb.org/manual/

  https://github.com/mongodb/node-mongodb-native

MongoDB使用经验总结相关推荐

  1. MongoDB学习指导

    原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...

  2. 关于Mongodb的全面总结

    MongoDB的内部构造<MongoDB The Definitive Guide> MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本 ...

  3. 关于Mongodb的全面总结,学习mongodb的人,可以从这里开始!

    转载地址:http://blog.csdn.net/he90227/article/details/45674513 原文地址:http://blog.csdn.NET/jakenson/articl ...

  4. MongoDB 全面总结

    原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...

  5. MongoDB全面总结

    原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...

  6. 使用WT工具恢复MongoDB数据

    众所周知MongoDB的底层存储是由WiredTiger负责的,其数据文件也是.wt格式.既然如此,我们就有可能不通过MongoDB服务,而是直接用wt工具从数据文件中恢复数据.虽然我们通常推荐生产环 ...

  7. Mongodb从这里开始

    原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...

  8. python 无纸化办公系统_详情

    单位名片 单位名称:北京思特奇信息技术股份有限公司单位规模:500人以上 单位性质:其它企业单位行业:信息传输.软件和信息技术服务业 单位简介: 公司全称: 北京思特奇信息技术股份有限公司 公司简介: ...

  9. MongoDB 杭州用户会全记录(千寻位置、妈妈帮、阿里云专家等精彩分享)

    MongoDB杭州用户交流会于2017年3月12日下午在阿里巴巴西溪园区举行,吸引了来自全国各地的近300名用户参与,千寻位置.妈妈帮.阿里云等公司的5位技术专家分享了MongoDB 的运维管理及使用 ...

最新文章

  1. 从暗通道先验去雾到海底图像修复-三维重建辅助计算摄影
  2. .NET Core 配置Configuration杂谈
  3. GridView编辑删除操作
  4. 解决 Gradle 进行多模块开发时,模块相互依赖的问题
  5. Light bulbs(上海icpc网络预选赛,差分离散化)
  6. permgen_什么是PermGen泄漏?
  7. angualr 单选全选方法(适用购物车/各种列表删除等)
  8. 实现页面内多个表格在滚动时,表头浮动的效果(是同时多个表格哟)
  9. 华为开发者被批评在 Linux 内核刷 KPI
  10. 在Docker中安装和部署MongoDB集群
  11. 2 万字长文详解 10 大多线程面试题|原力计划
  12. salt一键部署jdk
  13. 大数据只做三件事,对用户的理解、对信息的理解、对关系的理解
  14. C语言学习资料和视频
  15. c语言自动按键脚本,纯C语言写的按键驱动,将按键逻辑与按键处理事件分离~
  16. VBA代码自动缩进排版-VBA代码助手一键排版功能
  17. 电脑桌面便签小工具下载,好用的桌面便签软件推荐
  18. Android - 修改主题和颜色
  19. 调用函数求三个数中的最大数
  20. 多线程之interrupt

热门文章

  1. 一个资源管理系统的设计--基于cgroup机制
  2. junit单元测试诡异问题
  3. Centos 7 固定ip配置
  4. margin-top/bottom(padding-top/bottom)百分比以祖级宽度计算
  5. 使用内存映射文件来共享数据
  6. 关于AOP /IOC / DI
  7. Django项目部署:使用uwsgi和nginx的方式
  8. 如何站在双11的肩膀上 详解阿里云企业级互联网架构
  9. 查询存储过程,数据库对象的创建历史
  10. Linux服务器的优化