本人开发环境:

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

MongoDB从环境搭建到代码编程(Window 环境)的更多相关文章

  1. 【Hadoop离线基础总结】zookeeper的介绍以及集群环境搭建、网络编程和RPC的简单了解

    ZooKeeper的介绍以及集群环境搭建.网络编程和RPC的简单了解 ZooKeeper介绍 概述 ZooKeeper是一个分布式协调服务的开源框架,主要用来解决分布式集群中应用系统的一致性问题.例如 ...

  2. go语言环境搭建+sublime text3(windows环境下)

    感觉有点坑,整了一下午~搞定 go语言环境搭建+sublime text3(windows环境下) 1.安装sublime text3 2.安装go语言程序包 3.测试go语言是否安装成功     键 ...

  3. PHP环境搭建-Windows系统下PHP环境搭建

    1.PHP环境搭建的前提是 Apache HTTP Server (Apache 服务器)已经安装部署成功,并可以正常访问到服务器的主页面.Apache HTTP Server 的安装部署已经在上一篇 ...

  4. Node.js环境搭建和学习(windwos环境)

    Node.js环境搭建和学习 一.环境搭建 1.下载安装文件 下载地址http://nodejs-org.qiniudn.com/下载Node.js环境安装包,根据操作系统下载对应的安装包 下载地址 ...

  5. Redis环境搭建和代码测试及与GIS结合的GEO数据类型预研

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 1.1传统MySQL+ Memcached架构遇到的问题 My ...

  6. 万能密码的SQL注入漏洞其PHP环境搭建及代码详解+防御手段

    目录 环境搭建 session会话 环境搭建代码 创建数据库脚本 登录界面html: 查询数据库是否为正确的账号密码php代码 连接数据库php代码: 注销登录代码(即关闭session会话) 登录成 ...

  7. Android 环境搭建、基础窗口window/Mac

    1.五步搞定Android开发环境部署--非常详细的Android开发环境搭建教程 2.Android开发学习之路--MAC下Android Studio开发环境搭建 4.Android常用开发工具以 ...

  8. Go 开发环境搭建和代码调试

    写这篇笔记的目的,主要是分享我在Go学习中遇到的坑.让后面的学习者能否参考有用的经验. 其中有一些小技巧,对初学者来说,可能会大大节约填坑的时间. 比如如何设置vscode的Go调试器,Go的语法高亮 ...

  9. SDN开发环境搭建以及Mininet编程

    一.实验内容 搭建如下网络拓扑,并熟悉相关指令.   二.搭建开发环境 2.1 开发环境搭建 2.1.1下载ubuntu镜像文件 镜像下载地址 https://www.ubuntu.com/downl ...

随机推荐

  1. Oracle Dataguard 基本原理

    转载-http://blog.sina.com.cn/s/blog_7c5a82970101prcx.html 1.DATAGUARD原理 DATAGUARD是通过建立一个PRIMARY和STANDB ...

  2. VSCode cpptools 插件在Centos 7下不能正确显示符号列表的解决办法

    vscode 的插件cpptools 0.9.3 需要glibc 2.18的版本,但是Centos 7 下没有这个版本的GLIBC,所以导致链接库丢失,后台服务不能正常运行.按以下步骤操作可修复此问题 ...

  3. asp.net反射的运用

    反射的用途:    (1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例.     (2)使用Module了解包含模块的程序集以及模块中的 ...

  4. httpServeltRequest和Model传值的区别

    需要将请求发过来的数据(或者说参数)传递到重定向的页面/转发的页面的时候,就要用到>>model.addAttribute("mine", UserUtils.getC ...

  5. BZOJ 2038: [2009国家集训队]小Z的袜子(hose) 【莫队算法模版】

    任意门:https://www.lydsy.com/JudgeOnline/problem.php?id=2038 题意概括: 有 N 只袜子(分别编号为1~N),有 M 次查询 (L, R)里面随机 ...

  6. 【洛谷P3853】 [TJOI2007]路标设置

    路标设置 题目链接 此题和跳石头很相似,都是二分答案,模拟判断是否可行 #include<iostream> #include<cstdio> using namespace ...

  7. Android学习笔记_10_ContentProvider内容提供者的使用

    一.使用ContentProvider共享数据 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.以前我们学习过文件的操作模式,通过指定文 ...

  8. 【题解】洛谷P2341 [HAOI2006]受欢迎的牛(强连通分量)

    洛谷P2341:https://www.luogu.org/problemnew/show/P2341 前言 这题看错题目 足足花了将近5小时提交了15次 在一位dalao的提醒下才AC了 记得要看清 ...

  9. 01_常用 Linux 命令的基本使用

    01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作.文件存取.目录操作.进程管理.文件权限 设定等 在职场中,大量的 服务器维护工作 都 ...

  10. C++练习--创建Boat类和Car类(含友元)

    /* 定义Boat与Car两个类,二者都有weight属性, 定义二者的一个友元函数totalWeight()为外部函数, 计算二者的重量和. */ #include<iostream> ...