MongoDB使用经验总结
摘要:
最近在开发项目使用了数据库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使用经验总结相关推荐
- MongoDB学习指导
原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...
- 关于Mongodb的全面总结
MongoDB的内部构造<MongoDB The Definitive Guide> MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本 ...
- 关于Mongodb的全面总结,学习mongodb的人,可以从这里开始!
转载地址:http://blog.csdn.net/he90227/article/details/45674513 原文地址:http://blog.csdn.NET/jakenson/articl ...
- MongoDB 全面总结
原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...
- MongoDB全面总结
原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...
- 使用WT工具恢复MongoDB数据
众所周知MongoDB的底层存储是由WiredTiger负责的,其数据文件也是.wt格式.既然如此,我们就有可能不通过MongoDB服务,而是直接用wt工具从数据文件中恢复数据.虽然我们通常推荐生产环 ...
- Mongodb从这里开始
原文地址:http://blog.csdn.net/jakenson/article/details/7060431 MongoDB的内部构造<MongoDB The Definitive Gu ...
- python 无纸化办公系统_详情
单位名片 单位名称:北京思特奇信息技术股份有限公司单位规模:500人以上 单位性质:其它企业单位行业:信息传输.软件和信息技术服务业 单位简介: 公司全称: 北京思特奇信息技术股份有限公司 公司简介: ...
- MongoDB 杭州用户会全记录(千寻位置、妈妈帮、阿里云专家等精彩分享)
MongoDB杭州用户交流会于2017年3月12日下午在阿里巴巴西溪园区举行,吸引了来自全国各地的近300名用户参与,千寻位置.妈妈帮.阿里云等公司的5位技术专家分享了MongoDB 的运维管理及使用 ...
最新文章
- 从暗通道先验去雾到海底图像修复-三维重建辅助计算摄影
- .NET Core 配置Configuration杂谈
- GridView编辑删除操作
- 解决 Gradle 进行多模块开发时,模块相互依赖的问题
- Light bulbs(上海icpc网络预选赛,差分离散化)
- permgen_什么是PermGen泄漏?
- angualr 单选全选方法(适用购物车/各种列表删除等)
- 实现页面内多个表格在滚动时,表头浮动的效果(是同时多个表格哟)
- 华为开发者被批评在 Linux 内核刷 KPI
- 在Docker中安装和部署MongoDB集群
- 2 万字长文详解 10 大多线程面试题|原力计划
- salt一键部署jdk
- 大数据只做三件事,对用户的理解、对信息的理解、对关系的理解
- C语言学习资料和视频
- c语言自动按键脚本,纯C语言写的按键驱动,将按键逻辑与按键处理事件分离~
- VBA代码自动缩进排版-VBA代码助手一键排版功能
- 电脑桌面便签小工具下载,好用的桌面便签软件推荐
- Android - 修改主题和颜色
- 调用函数求三个数中的最大数
- 多线程之interrupt