MongoDB从环境搭建到代码编程(Window 环境)
本人开发环境:
window Server 2008 , 64位系统
服务端
MongoDB下载地址:http://www.mongodb.org/downloads (本人己下好的在百度网盘 : http://pan.baidu.com/s/1nuX8eSh)
mogodb 破解版客户端
http://pan.baidu.com/s/1geKTeO7
java 访问MongoDB 驱动:
https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongo-java-driver/2.13.2/
服务端安装篇
1,服务端程序是个exe程序,安装完之后默认在 C:\Program Files\MongoDB\Server\3.2 目录下。
2,安装完之后在 上面目录下,.创建文件夹C:\Program Files\MongoDB\Server\3.2\data\db、C:\Program Files\MongoDB\Server\3.2\data\log,分别用来安装db和日志文件,在log文件夹下创建一个日志文件MongoDB.log,即C:\Program Files\MongoDB\Server\3.2\data\log\MongoDB.log
3,
.运行cmd.exe进入dos命令界面,执行下列命令
> cd C:\Program Files\MongoDB\Server\3.2\bin
> C:\Program Files\MongoDB\Server\3.2\bin>mongod -dbpath "C:\Program Files\MongoDB\Server\3.2\data\db"
会看到命令行中有,wating for connetions on port 27017 ,说明己启动服务
4,新开一个cmd窗口,进入mongodb的bin目录,输入mongo或者mongo.exe,出现如下信息说明测试通过,此时我们已经进入了test这个数据库.
输入exit或者ctrl+C可退出。
5,MongoDB安装为windows服务
还是运行cmd,进入bin文件夹,执行下列命令
> C:\Program Files\MongoDB\Server\3.2\bin>mongod --dbpath "C:\Program Files\MongoDB\Server\3.2\data\db" --logpath "C:\Program Files\MongoDB\Server\3.2\data\log\MongoDB.log" --install --serviceName "MongoDB"
这里MongoDB.log就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB
接着启动mongodb服务
注:以上操作己开启两个cmd 命行,服务启动前关闭第一个命令行。
在使用客户端连接mongodb 服务端进你会发现,mongodb 没有设置权限验证,是的,默认mongodb 不验证权限。。
如何设置权限呢?
用户权限设置篇
1. 首先使用管理员身份打开cmd.exe,启动cmd命令窗口。
2,创建用户
>use admin
>db.createUser({user: "accountUser",pwd: "password",roles: [ "readWrite", "dbAdmin" ]})
注:mongodb 的addUser 方法在后面的版本 中己废弃了。见: https://docs.mongodb.com/manual/reference/method/db.createUser/
3, 上一部设置服务的命名中加入--auth,设置服务以授权验证启动(mongod --auth --dbpath "C:\Program Files\MongoDB\Server\3.2\data\db" --logpath "C:\Program Files\MongoDB\Server\3.2\data\log\MongoDB.log" --install --serviceName "MongoDB")
若你在上一步己安装同名服务时,你需要先卸载己存在的服务,没有安装的直接执行C 步骤。
a,NET stop MongoDB (关闭服务)
b,mongod --dbpath "C:\Program Files\MongoDB\Server\3.2\data\db" --logpath "C:\Program Files\MongoDB\Server\3.2\data\log\MongoDB.log" --remove --serviceName "MongoDB"
c,mongod --auth --dbpath "C:\Program Files\MongoDB\Server\3.2\data\db" --logpath "C:\Program Files\MongoDB\Server\3.2\data\log\MongoDB.log" --install --serviceName "MongoDB"
4,启动服务,登录试试看看
上面1表示登录成功,0表示登录失败。
注:以上图片是盗别人的,他的MongoDB版本要小于我所提供的版本
代码编程篇
以下代码为java 访问mongdb 代码
package com.mkyong.core; import java.net.UnknownHostException; import java.util.Date; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.Mongo; import com.mongodb.MongoException; /** * Java + MongoDB Hello world Example * */ public class App { public static void main(String[] args) { try { /**** Connect to MongoDB ****/ // Since 2.10.0, uses MongoClient //MongoClient mongo = new MongoClient("localhost", 27017); Mongo mongo = new Mongo("127.0.0.1",27017); /**** Get database ****/ // if database doesn't exists, MongoDB will create it for you DB db = mongo.getDB("testMongoDb"); //database username root and password root boolean ok = db.authenticate("root","root".toCharArray()); if(ok){ System.out.println("db connection success!"); }{ System.out.println("db connection fail !"); } /**** Get collection / table from 'testMongoDb' ****/ // if collection doesn't exists, MongoDB will create it for you DBCollection table = db.getCollection("user"); /**** Insert ****/ // create a document to store key and value BasicDBObject document = new BasicDBObject(); document.put("name", "mkyong"); document.put("age", 30); document.put("createdDate", new Date()); table.insert(document); /**** Find and display ****/ BasicDBObject searchQuery = new BasicDBObject(); searchQuery.put("name", "mkyong"); DBCursor cursor = table.find(searchQuery); while (cursor.hasNext()) { System.out.println(cursor.next()); } /**** Update ****/ // search document where name="mkyong" and update it with new values BasicDBObject query = new BasicDBObject(); query.put("name", "mkyong"); BasicDBObject newDocument = new BasicDBObject(); newDocument.put("name", "mkyong-updated"); BasicDBObject updateObj = new BasicDBObject(); updateObj.put("$set", newDocument); table.update(query, updateObj); /**** Find and display ****/ BasicDBObject searchQuery2 = new BasicDBObject().append("name", "mkyong-updated"); DBCursor cursor2 = table.find(searchQuery2); while (cursor2.hasNext()) { System.out.println(cursor2.next()); } /**** Done ****/ System.out.println("Done"); } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } } }
The End
分享下别人的资料
转载请注明来自:http://www.cnblogs.com/jackicalSong/
------------------------------------------------------------------------
java访问mongodb
http://www.jb51.net/article/65630.htm
http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html
mongodb 安装与配置
http://www.cnblogs.com/lecaf/archive/2013/08/23/mongodb.html
http://blog.sina.com.cn/s/blog_6e4059a40101b5z7.html