您的位置:首页 > 数据库 > Mongodb

关于mongoDb(安装和配置)二

2012-10-26 15:18 316 查看
安装Mongo数据库:

在发布本文的时间官方提供的最新版本是:2.2

Windows 7下安装MongoDB数据库图文教程

最近有幸接触到NoSQL的数据库MongoDB,感受了下NoSQL存储的特色同时,顺便把Windows下安装MongoDB的过程也记录下来,方便记忆巩固。

1. 下载Windows版本的 MongoDB 数据库
到官方的下载页面下载mongodb的windows版本,32位还是64位根据自己的情况自行选择

http://www.mongodb.org/downloads

2. 安装准备
将下载的压缩包解压缩并放置到你想放置的位置,在目录下建立一个叫做DB的文件夹和一个log.txt的文件

DB文件夹用于存储数据库

log.txt用于记录MongoDB的日志





3. 安装MongoDB
这里讲的方法是将MongoDB安装为Windows的服务的方式,打开windows的命令行(注意:请使用个管理员权限启动命令行)并移动到你MongoDB目录下的Bin文件夹,我这里演示的路径是d:\DEV\ENV\mongodb

输入下列命令可将MongoDB注册为Windows服务:

mongod.exe --install --logpath=D:\DEV\ENV\mongodb\log.txt --dbpath=D:\DEV\ENV\mongodb\DB
--install 参数是设定安装为服务器

--logpath 参数是设定日志文件的路径,log.txt是在上一步建立好的文件

--dbpath 参数是设定数据库文件的存放路径,DB文件夹在上一步骤已经创建好

执行结果如下:





这时再输入

net start mongodb
即可启动mongodb服务

启动后,再到命令行输入

mongo

如果成功的进入mongo的shell环境(参见下图)那么就说明MongoDB已经安装成功了,开始你的NoSQL之旅吧!





实例:

Js代码



show dbs // 列出所有数据库
use memo // 使用数据库memo。即使这个数据库不存在也可以执行,但该数据库不会立刻被新建,要等到执行了insert之类的操作时,才会建立这个数据库
show collections // 列出当前数据库的collections
db // 显示当前数据库
show users // 列出用户

MongoDB的查询语法很强大。例如,很多SQL可以做的,它都可以做:

Js代码



coll.find() // select * from coll
coll.find().limit(10) // select * from coll limit 10
coll.find().sort({x:1}) // select * from coll order by x asc
coll.find().sort({x:1}).skip(5).limit(10) // select * from coll order by x asc limit 5, 10
coll.find({x:10}) // select * from coll where x = 10
coll.find({x: {$lt:10}}) // select * from coll where x <= 10
coll.find({}, {y:true}) // select y from coll

一些SQL不能做的,MongoDB也可以做:

Js代码



coll.find({"address.city":"gz"}) // 搜索嵌套文档address中city值为gz的记录
coll.find({likes:"math"}) // 搜索数组
coll.ensureIndex({"address.city":1}) // 在嵌套文档的字段上建索引

索引:

Js代码



coll.ensureIndex({productid:1}) // 在productid上建立普通索引
coll.ensureIndex({district:1, plate:1}) // 多字段索引
coll.ensureIndex({productid:1}, {unique:true}) // 唯一索引
coll.ensureIndex({productid:1}, {unique:true, dropDups:true|) // 建索引时,如果遇到索引字段值已经出现过的情况,则删除重复记录
coll.getIndexes() // 查看索引
coll.dropIndex({productid:1}) // 删除单个索引

安全与认证(该版本的MongoDB仅支持很基本的安全策略):

Js代码



use shine // 如果要root权限,就用admin库
db.addUser("username", "password") // 普通权限,可读写
db.addUser("username", "password", true) // 只可读,不可写
db.system.users.remove({user: username}) // 删除用户

数据导出、导入:

Js代码



// json或csv格式,每次一个collection
mongoexport -d producttrade -c basic -o /home/data/mongo_backup/producttrade_100504.json
mongoimport -d producttrade -c basic --drop /home/data/mongo_backup/producttrade_100504.json

// 二进制数据格式,常用于备份、还原
mongodump -d shine -o /home/data/mongo_backup
mongorestore -d shine --drop /home/data/mongo_backup/shine

MongoDB in Java

这里下一个MongoDB的Java驱动,把jar包扔到项目里去就行了。上面提到的通过脚本操作的功能,基本上都能在Java中找到实现。进行数据库连接的代码也十分简洁:

Java代码



Mongo mongo = new Mongo();
db = mongo.getDB("shine");
coll = db.getCollection("producttrade");
DBCursor cur = coll.find();
// 对cur进行操作。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: