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 

 

posted on 2016-07-08 16:00  我叫宋  阅读(314)  评论(0编辑  收藏  举报

导航