MongoDB初探

MongoDB属于NoSQL数据库的范畴,关于NoSQL的理论分析汗牛充栋这里就不再涉及,众所周知传统SQL数据库以表(table)作为数据存储检索的基础,这样的数据结构严谨但缺乏灵活性,而MongoDB使用类似JSON格式的BSON文件存储数据,因此支持的数据结构非常灵活,在使用中前后导入数据行的条目索引和数目均可不同。

Installation

对版本没有特定要求的话可以直接使用发行版Repo中提供的软件。

apt-get install mongodb
mongo -version
service mongodb status

配置文件为/etc/mongodb.conf,默认监听IP127.0.0.1即仅可以从本机访问,改为bind_ip = 0.0.0.0可以监听外部网络流量,随后service mongodb restart重启服务。

Client Command Line - mongo

不同于MySQLdatabase -> table的结构,MongoDB数据存储形式为Database -> Collection

默认情况下MongoDB并不启动用户认证功能即任何连接均可获得对所有databasecollection的访问,这也是默认监听本机流量的原因。

mongo是类似于mysql的数据库终端命令,参数格式如下:

mongo --host <IP> --port <port> -u <username> -p <password> <database>
default host -> 127.0.0.1, port -> 27017, database -> test, no username/password

敲击mongo进入shell交互界面,可敲入help查看命令列表,其中常用命令如下:

show dbs
use <DB_Name>
show collections
db.<Collection_Name>.find()
db.createCollection('<Collection_Name>')
db.<Collection_Name>.insert({xx: 'yy', mm: 'nn'})
db.<Collection_Name>.save({xx: 'yy', mm: 'nn'})
exit

User Auth

MongoDB中的user是与database相对应的,默认存在的admin数据库对应的user具备管理员权限,可以查看所有其他数据库的集合数据,其他数据库对应的user则只能查看对应数据库内的集合数据,所有user的信息都存储在admin数据库下system.users集合中。

use admin
db.addUser('admin','admin')
use test
db.addUser('test','test')
use admin
db.system.users.find()

即便创建了User信息默认MongoDB的认证功能也是关闭的,修改配置文件auth = true,然后service mongodb restart重启服务生效。

use <DB_Name>
db.auth('<username>', '<password>')
show users

Library/Driver - Java

apt-get install libmongodb-java
dpkg -L libmongodb-java -> /usr/share/java/mongo-java-driver-2.12.4.jar

猜你喜欢

转载自blog.csdn.net/melancholy123/article/details/78695488