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
MongoDB从环境搭建到代码编程(Window 环境)的更多相关文章
- 【Hadoop离线基础总结】zookeeper的介绍以及集群环境搭建、网络编程和RPC的简单了解
ZooKeeper的介绍以及集群环境搭建.网络编程和RPC的简单了解 ZooKeeper介绍 概述 ZooKeeper是一个分布式协调服务的开源框架,主要用来解决分布式集群中应用系统的一致性问题.例如 ...
- go语言环境搭建+sublime text3(windows环境下)
感觉有点坑,整了一下午~搞定 go语言环境搭建+sublime text3(windows环境下) 1.安装sublime text3 2.安装go语言程序包 3.测试go语言是否安装成功 键 ...
- PHP环境搭建-Windows系统下PHP环境搭建
1.PHP环境搭建的前提是 Apache HTTP Server (Apache 服务器)已经安装部署成功,并可以正常访问到服务器的主页面.Apache HTTP Server 的安装部署已经在上一篇 ...
- Node.js环境搭建和学习(windwos环境)
Node.js环境搭建和学习 一.环境搭建 1.下载安装文件 下载地址http://nodejs-org.qiniudn.com/下载Node.js环境安装包,根据操作系统下载对应的安装包 下载地址 ...
- Redis环境搭建和代码测试及与GIS结合的GEO数据类型预研
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 1.1传统MySQL+ Memcached架构遇到的问题 My ...
- 万能密码的SQL注入漏洞其PHP环境搭建及代码详解+防御手段
目录 环境搭建 session会话 环境搭建代码 创建数据库脚本 登录界面html: 查询数据库是否为正确的账号密码php代码 连接数据库php代码: 注销登录代码(即关闭session会话) 登录成 ...
- Android 环境搭建、基础窗口window/Mac
1.五步搞定Android开发环境部署--非常详细的Android开发环境搭建教程 2.Android开发学习之路--MAC下Android Studio开发环境搭建 4.Android常用开发工具以 ...
- Go 开发环境搭建和代码调试
写这篇笔记的目的,主要是分享我在Go学习中遇到的坑.让后面的学习者能否参考有用的经验. 其中有一些小技巧,对初学者来说,可能会大大节约填坑的时间. 比如如何设置vscode的Go调试器,Go的语法高亮 ...
- SDN开发环境搭建以及Mininet编程
一.实验内容 搭建如下网络拓扑,并熟悉相关指令. 二.搭建开发环境 2.1 开发环境搭建 2.1.1下载ubuntu镜像文件 镜像下载地址 https://www.ubuntu.com/downl ...
随机推荐
- June 14th 2017 Week 24th Wednesday
Love looks not with the eyes, but with the mind. 爱,不在眼里,而在心中. Staring in her eyes and you will find ...
- 20150103 海南铁汉vs哈尔滨毅腾
本文首发于『懂球帝』 这一场球赛虽然极其普通,在各位懂球帝面前或许不值得一提,但它极具历史意义,因为这是海南第一个职业联赛队伍的首场正式比赛,同时也是海南铁汉队第一次在正式比赛中与球迷们见面. 稍做一 ...
- IOS KVO的实现原理
#import "HMViewController.h" #import "HMPerson.h" @interface HMViewController () ...
- python:线程进阶
1,守护线程 import time from threading import Thread def func(): print('开始执行子线程') time.sleep(3) print('子线 ...
- [BJWC2008]秦腾与教学评估
嘟嘟嘟 二分好题. 怎么二分呢?反正我是没想出来. 看了题解. 因为只有一个为奇数的点,所以对于一个位置x,求出区间[0, x]的教总和,如果为奇数,说明x取大了:否则x取小了(妙啊). 虽然答案在i ...
- WIN7系统 64位出现 Net Framework 数据提供程序要求 Microsoft Data Access Components(MDAC).
WIN7系统 64位出现 Net Framework 数据提供程序要求 Microsoft Data Access Components(MDAC).请安装 Microsoft Data Acces ...
- 2018.9.30 Java中数组的存储与内存分配
java 数组与集合的区别 集合:长度可变,可以存放不同类型的元素,只能存放引用类型! 数组:长度固定,只可以存放相同的同种类型的元素,可以存放数据类型也可以存放引用类型! 数组定义的三种方式 // ...
- php new self()关键字的用法
今天开框架源码,发现有用到new self()的用法 有点不懂 在网上查了一下,给大家说一下: 在类中 self的用法 和this的用法差不多 , php new self() 一般在类内部使用 ...
- FastJSON、Gson、Jackson(简单了解使用)
下载地址(maven) Jackson:http://mvnrepository.com/search?q=jackson FastJson:http://mvnrepository.com/sear ...
- HDU 2199 Can you solve this equation?(二分解方程)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2199 Can you solve this equation? Time Limit: 2000/10 ...