博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB
阅读量:6671 次
发布时间:2019-06-25

本文共 1876 字,大约阅读时间需要 6 分钟。

一. 简介

  MongoDB是介于传统数据库和NoSQL数据库之间的一种非关系型数据库。MongoDB使用c++实现,具有高可靠,高可用等优秀特性。

  每条记录相当于一个document。
documment-->row
collection-->table
db-->db
mongo-->mysql

二. 特性

(1)面向文档(document)的存储方式BSON(二进制json)

文档的schema没有严格要求,方便灵活。
(2)全索引支持 
(3)支持同步并且高可用 
(4)自动sharding(alpha阶段) 
(5)灵活的数据查询 
(6)支持MapReduce 
(7)其他:GridFS,多种语言接口,建立索引不阻塞

三. 安装

• linux

1)将mongodb-linux-x86_64-2.6.2.tgz解压到/root/programs
2)配置环境(/etc/profile)

#MongoDBexport MongoDB_HOME=/root/programs/mongodb-linux-x86_64-2.6.2export PATH=$MongoDB_HOME/bin:$PATH

#source /etc/profile

四. 基本命令

• 启动服务(默认dbpath为/data/db)

#mongod
#mongod -dbpath /opt/data/mongodb
默认服务端口为27017
后台启动
1)添加配置文件mongodb.conf(dbpath需要人工创建)

port=27017dbpath=data/dblogpath=logs/mongodb.loglogappend=truefork=true

2)启动

mongod -f mongodb.conf 
3)关闭
bin/mongod -f mongodb.conf --shutdown
• 客户端连接DB
#mongo
#mongo --host localhost --port 27017
连上后,默认使用test DB
• 命令行工具
1)查看当前db
>db
2)查看其他DB(不包含当前使用的)
>show dbs
3)切换或创建DB
#use mydb
4)查询当前DB下的所有collections
>show collections
5)插入document
>x={x:"1"}
>db.test.insert(x) //test 集合如果不存在,则创建
>for (var i = 1; i <= 25; i++) db.testData.insert( { x : i } )
6)查询document
>db.test.find()
>var c = db.testData.find()
>while ( c.hasNext() ) printjson( c.next() )
>db.test.find( { x : "7" } )
db.test.find({x:"1"},{"_id":0}) //不包含_id
>db.test.find().limit(3)
>db.users.find( { age: { $gt: 18 } }, { name: 1, address: 1 } ).limit(5).sort({age:1})
>db.test.find( { x: { $in: [ '1', '3' ] } } )
>db.inventory.find( { x: '1', $or: [ { qty: { $gt: 100 } }, { price: { $lt: 9.95 } } ]} )

五. 用户管理

• 创建超级用户

1)mongod以不带--auth方式启动
2)切到admin DB下
>use admin
3)添加用户及密码
>addUser("admin","password")
4)重启mongod,以带--auth方式启动
5)以后需要该用户的时候
>db.auth("admin","password")
• 创建普通用户
2)切到admin DB下并用超级用户登陆
>use admin
>db.auth("admin","password")
3)切到目标DB下并创建用户
>use test
>db.addUser("user","passwd")

转载于:https://www.cnblogs.com/waterystone/p/5086186.html

你可能感兴趣的文章
JS中的prototype
查看>>
我的友情链接
查看>>
本体编辑和知识获取软件--protege汉化版
查看>>
C# 利用NPOI来导入Excel表
查看>>
23张非常精美的圣诞桌面壁纸分享
查看>>
稀疏矩阵的压缩存储和转置
查看>>
华为S5700交换机开启WEB配置
查看>>
mysql主从同步错误解决和Slave_IO_Running: NO
查看>>
Coding and Paper Letter(十七)
查看>>
感谢51CTO提供这个平台让我可以分享“姿势”
查看>>
Toast 自定义位置和带图
查看>>
outlook设置gmail邮箱报错:Outlook 无法连接到接收(POP3)电子邮件服务器
查看>>
linux中文件的常用操作
查看>>
php rabbitmq操作类及生产者和消费者实例代码
查看>>
C# 面向对象三大特征 的简单描述
查看>>
Tomcat服务器集群与负载均衡实现
查看>>
我的友情链接
查看>>
crontab使用进程锁flock解决冲突
查看>>
MySQL 5.6 for Windows 解压缩版配置安装
查看>>
linux使用ntfs-3g 挂载NTFS分区
查看>>