- 浏览: 424781 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (184)
- IDE (4)
- dotCMS (3)
- Liferay Portal (1)
- J2EE (7)
- My SQL (16)
- IBM DB2 (3)
- Oracle (2)
- JDBC (4)
- Hibernate (3)
- JSP (0)
- Framework (4)
- Java编程 (30)
- C++编程 (0)
- Struts 1.X (2)
- Struts 2.X (6)
- Linux (11)
- Spring (7)
- JavaScript (6)
- Ajax (2)
- XML (3)
- IBM Websphere Portal (1)
- IBM Lotus Quickr (1)
- CMS (2)
- ERP (0)
- CRM (0)
- 大型网站架构开发 (1)
- 面试武器 (2)
- HTML 5 (2)
- dTree && webFxloadTree (2)
- JVM (7)
- SQL Server (3)
- Tomcat && Apache && Jboss && Weblogic-中间件 (4)
- FreeMarker (2)
- MongoDB (7)
- OpenSource开源 (24)
- Cloud (0)
- FFmpeg (3)
- Thrift (1)
- SpringSide (1)
- Design Pattern (1)
- solr&&ES (2)
- git&svn (1)
- 大数据 (8)
- 人工智能 (0)
- Hadoop (3)
- Spark (0)
- Sqoop (1)
- Flume (1)
- Hive (3)
- HDFS (4)
- ES (0)
- Redis (1)
- Kafka (3)
- MR (0)
- 机器学习 (0)
- 深度学习 (0)
- Impala (2)
- HBase (2)
- Spring Boot (1)
- Spring Cloud (0)
- 大数据架构 (6)
- 架构思想理论 (6)
- 技术管理 (4)
- 数据结构与算法 (4)
最新评论
-
huijz:
...
Spring Data JPA研究-使用Spring Data JPA 简化JPA 开发(ZZ) -
用户名不存在:
[img][/img][*]引用[u][/u][i][/i][ ...
MongoDB 模糊查询的三种实现方式-morphia实现 -
junsheng100:
请给个完整的例子吧!包括jar文件等
java调用ffmpeg获取视频文件信息参数代码 -
mj:
谢谢!!
SQL Server里面如何导出包含(insert into)数据的SQL脚本 (转载ZZ)
目前,NOSQL在业界正发展的如火如荼,其中Mongodb是其中十分优秀的一员,MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。在本系列教程中,将分三部分指导对Mongodb的学习,在第一部分中,将简单介绍Mongodb的安装和基本使用方法,在第二部分中,将介绍Java对Mongodb的编程操作,在第三部分中,将介绍Spring对Mongodb的编程操作。
Mongodb在Windows上的安装
首先,我们到Mongodb的官方网站http://www.mongodb.org/downloads下载,下载的版本目前是1.8.1,下载后,解压到文件夹,比如C:\mongodb-win32-1.8.1。接下来,我们可以观察下,该文件夹下有如下文件:
可以看到,mongodb可谓十分简单,只有10个文件。接下来,我们创建一个数据库文件存放的目录,这里设定为c:\mymongodb。然后可以在命令行方式下启动mongodb了,运行如下命令:
当出现如下提示信息时,即代表已经成功启动了mongodb
Fri Apr 29 17:15:34 [initandlisten] MongoDB starting :
pid=5280 port=27017 dbpath=c:\mymongodb 32-bi
...
Fri Apr 29 17:15:34 [initandlisten] waiting for connections on port 27017
Fri Apr 29 17:15:34 [websvr] web admin interface listening on port 28017
在上面的信息中,我们注意到,mongodb在端口27017进行了监听来自客户端的连接,而在28017端口,则启用了web界面的管理工具,因此我们可以通过http://localhost:28017进行访问,可以看到如下的界面:
▲点击查看大图
接下来,我们学习下,如何将mongodb安装成windows 中的服务,首先我们在mongodb下,可以通过—help选项,查看相关的帮助指令,如下:
Windows Service Control Manager options:
--install install mongodb service
--remove remove mongodb service
--reinstall reinstall mongodb service (equivilant of mongod
--remove followed by mongod --install)
--serviceName arg windows service name
--serviceDisplayName arg windows service display name
--serviceDescription arg windows service description
--serviceUser arg user name service executes as
--servicePassword arg password used to authenticate serviceUser
可以看到,--install和—remove两个参数正是我们需要的。因此,将mongodb安装成windows服务的命令如下:
上面的命令行中,用—dbpath参数指出了数据库的目录,--logpath则指出了日志存放的目录,而—serviceName参数则指出了,命名安装的服务名为MongoDB,运行后有如下提示:
Creating service MongoDB.
Service creation successful.
Service can be started from the command line via 'net start "MongoDB"'.
并且可以在windows的控制面板中的服务中,看到该服务。而卸载服务的命令也很简单,如下:
===============================================
Mongodb快速入门之使用Java操作Mongodb
在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作。
HelloWorld程序
学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序。
首先,要通过Java操作Mongodb,必须先下载Mongodb的Java驱动程序,可以在这里下载。
新建立一个Java工程,将下载的驱动程序放在库文件路径下,程序代码如下:
import java.net.UnknownHostException;
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 {
//实例化Mongo对象,连接27017端口
Mongo mongo = new Mongo("localhost", 27017);
//连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立
DB db = mongo.getDB("yourdb");
// Get collection from MongoDB, database named "yourDB"
//从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立
DBCollection collection = db.getCollection("yourCollection");
// 使用BasicDBObject对象创建一个mongodb的document,并给予赋值。
BasicDBObject document = new BasicDBObject();
document.put("id", 1001);
document.put("msg", "hello world mongoDB in Java");
//将新建立的document保存到collection中去
collection.insert(document);
// 创建要查询的document
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("id", 1001);
// 使用collection的find方法查找document
DBCursor cursor = collection.find(searchQuery);
//循环输出结果
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
最后,输出的结果为:
"id" : 1001 , "msg" : "hello world mongoDB in Java"}
Done
http://tech.it168.com/a2011/0603/1200/000001200064.shtml
http://tech.it168.com/a2011/0617/1206/000001206231.shtml
----------------------------------------------------------------------------------------------------------------------------------
Part Two:
去官方网站下载了程序,“绿色”的,通过命令行直接运行BIN下面的服务器mongod.exe即可,不过默认的数据库位置在C盘下,这总是不大合适,可以通过加参数 -dbpath来改变,如
mongod.exe –dbpath d:/db
注意这里有个问题,Windows下,一般是使用\作为路径分隔符的,不过在这里,如果直接使用d:\db这样的话,mongod会把\去掉,变成d:db这样,导致启动失败,所以比较简单的方法就是用/来代替\
服务器启动后,可以在浏览器中访问,默认地址是:http://127.0.0.1:28017/,里面会有一些数据库的基本信息
访问数据库可以使用BIN下面的mongo.exe,是个命令行工具。对于用惯了MS-SQL,MySQL这样有良好的数据库UI工具的我来说,让我直接用命令行去操作数据库实在是有些不习惯,在网上查了一下,UI工具有倒是有,不过都不大完善的样子,也就懒得下了。在命令行下,输入help可以看到基本操作命令:
show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表)
show users:显示用户
use <db name>:切换当前数据库,这和MS-SQL里面的意思一样
db.help():显示数据库操作命令,里面有很多的命令
db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
------------------------------------------------
大致的说明一下MongoDB中的数据格式,我没有去详细的查看官方的文档,只是按我试用过的感觉来说,其数据结构,类似JSON,即key-value成对,key一般就是String,而value而无所谓了,如一个JSON数据:
{
name:"X-Man",
birthday:{
year:1987,
month:1,
day:20
}
}
只要你愿意,就可以把Value不断的复杂化,以方便存储数据
-----------------------------------------------------------
要使用Java操作MongoDB的话,要到官方网站下载一个驱动包,点击网站上的Drivers里面,可以看到目前支持的语言,非常的多……把包导入后,可以尝试来操作了(记得一定要开着服务器)
首先介绍一下比较常用的几个类
Mongo:连接服务器,执行一些数据库操作的选项,如新建立一个数据库等
DB:对应一个数据库,可以用来建立集合等操作
DBCollection:对应一个集合(类似表),可能是我们用得最多的,可以添加删除记录等
DBObject接口和BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,因为是key-value的数据结构,所以用起来其实和HashMap是基本一致的
DBCursor:用来遍历取得的数据,实现了Iterable和Iterator
接下来实际的操作一下,代码如下:
import com.mongodb.*;
public class Main {
public static void main(String[] args) {
try{
Mongo m = new Mongo("127.0.0.1");
//选择数据库,如果没有这个数据库的话,会自动建立
DB db = m.getDB("mongo");
//列出所有数据库名,不过发现,如果数据库里面是没有数据的话,并不会被列出来
System.out.println("数据库列表:"+m.getDatabaseNames());
//建立一个集合,和数据库一样,如果没有,会自动建立
DBCollection col = db.getCollection("col");
//列出所有集合名,和数据库一样,如果集合里面是没有数据的话,并不会被列出来
System.out.println("当前数据库下的集合列表:"+db.getCollectionNames());
//建立一个数据项,重复执行会多次添加一样的数据
BasicDBObject val = new BasicDBObject();
val.put("name", "X-Man");
col.save(val);
//保存的数据为
//{ "_id" : "4b8de2f3053068a371e870c0" , "name" : "X-Man"}
//_id是系统自动帮加上的,全局唯一
//多次加入一样的数据时,_id都是不一样的
//取得所有数据并打印出来
DBCursor ite = col.find();
while(ite.hasNext())
{
System.out.println(ite.next());
}
}catch(Exception error)
{
error.printStackTrace();
}
}
}
----------------------------更新操作--------------------------
view sourceprint?
import com.mongodb.*;
public class Main {
public static void main(String[] args) {
try{
Mongo m = new Mongo("127.0.0.1");
DB db = m.getDB("mongo");
DBCollection col = db.getCollection("col");
System.out.println("修改前:");
showData(col);
//查找所有 name=X-Man 的项,并更新
BasicDBObject old_val = new BasicDBObject(),new_val = new BasicDBObject();
old_val.put("name", "X-Man无敌");
new_val.put("name", "X-Man无敌");
col.update(old_val, new_val);//只会更新一个
//col.updateMulti(new_val, old_val)不知道怎么回事,这函数不顶用
System.out.println("修改后:");
showData(col);
}catch(Exception error)
{
error.printStackTrace();
}
}
static void showData(DBCollection col)
{
DBCursor ite = col.find();
while(ite.hasNext())
{
System.out.println(ite.next());
}
}
}
发表评论
-
MongoDB数据库导出、导入与备份、恢复
2012-07-24 16:49 6107MongoDB导入命令: mon ... -
MonjaDB -基于Eclipse的 MongoDB 的 GUI 客户端工具
2012-07-09 19:51 2092MonjaDB 是一个 MongoDB 的 GUI 客户端工具 ... -
MongoDB 模糊查询的三种实现方式-morphia实现
2012-06-15 17:53 20864MongoDB 模糊查询的三种实现方式-morphia实现如下 ... -
MongoDB 增加用户 删除用户 修改用户 读写权限 只读权限
2012-03-27 10:52 1650MongoDB 增加用户 删除用户 修改用户 读写 ... -
使用 Morphia 和 MongoDB 实现域模型持久性(ZZ)
2012-03-21 18:21 1929使用 Morphia 持久保存、加载、删除和查询映射 ... -
MongoDB管理工具RockMongo(ZZ)
2012-03-21 18:10 1976rock_mongo_zh PHP5写的一个Mon ...
相关推荐
Linux运维-03-NoSQL数据库之MongoDB-03Mongodb相关介绍.mp4
Linux运维-03-NoSQL数据库之MongoDB-14mongodb扩展安装.mp4
Linux运维-03-NoSQL数据库之MongoDB-08mongodb官方文档的简单使用.mp4
Linux运维-03-NoSQL数据库之MongoDB-10修改数据.mp4
Linux运维-03-NoSQL数据库之MongoDB-01学习目标和内容06.mp4
Linux运维-03-NoSQL数据库之MongoDB-11删除数据.mp4
Linux运维-03-NoSQL数据库之MongoDB-05添加数据.mp4
Linux运维-03-NoSQL数据库之MongoDB-06查询数据一.mp4
Linux运维-03-NoSQL数据库之MongoDB-07查询数据二.mp4
本资料包"Linux运维-03-NoSQL数据库之MongoDB-01文档.zip"将带你深入理解MongoDB的基础知识和关键特性。 首先,MongoDB采用的是文档型数据库模型,它存储数据的形式是JSON(JavaScript Object Notation)文档,这种...
Linux运维-03-NoSQL数据库之MongoDB-13用户权限管理.mp4
Linux运维-03-NoSQL数据库之MongoDB-09查询数据三.mp4
Linux运维-03-NoSQL数据库之MongoDB-04mongodb安装及其命令行客户端连接操作.mp4
Linux运维-03-NoSQL数据库之MongoDB-15日志存储mongodb和GUI客户端.mp4
Linux运维-03-NoSQL数据库之MongoDB-12限制登录bindip.mp4
Linux运维-03-NoSQL数据库之MongoDB-02业务背景和模拟运维设计方案.mp4
NoSQL数据库之MongoDB视频讲解(17集附源码)课程目录:【】MongoDB - 1【视频讲解】【】NoSQL数据库之MongoDB - 11【】NoSQL数据库之MongoDB - 16【】NoSQL数据库之MongoDB - 5【】NoSQL数据库之MongoDB-10【】...
MongoDB是一种流行的开源NoSQL数据库,它以JSON格式存储数据,具有高性能、高可用性和可扩展性的特点。在Linux环境中,MongoDB的运维是IT专业人士必须掌握的关键技能之一。本资料包聚焦于Linux运维中的MongoDB应用,...
在安装MongoDB时,例如文件“mongodb-win32-x86_64-1.8.2”代表的是MongoDB的一个Windows 64位版本的安装包。安装步骤通常包括下载安装程序,运行安装向导,配置数据目录,设置环境变量,并启动MongoDB服务。MongoDB...
2. **解压缩**:将下载好的安装包解压缩到指定路径,例如`C:\mongodb-win32-1.8.1`。 3. **创建数据库文件夹**:为了存储MongoDB的数据文件,需要创建一个新的文件夹,本例中创建于`C:\mymongodb`。 4. **启动...