Mongodb的安装以及Java连接Mongodb初探
2013-10-24 20:23
453 查看
一、MongoDB的下载与安装
文件名:mongodb-linux-x86_64-2.4.7.tgz
下载地址:http://pan.baidu.com/s/1kT5tu
系统环境:Centos-6.3
解压:tar -zvxf mongodb-linux-x86_64-2.4.7.tgz , 里面最重要的就是bin目录,不需要安装直接启动mongod就可以了
将该bin目录加入环境变量:
vi /etc/profile
export PATH=$PATH:/home/houqd/mongodb2.4.7/bin
source /etc/profile
直接运行mongod启动MongoDB数据库,这里可能会报如下的错误:
这里的原因是因为:MongoDB在启动的时候,默认在目录/data/db(Windows上是c:\data\db)下存储数据文件,可以使用dbpath选项指定一个不通的数据目录:
mongod --dbpath /youselfpath , 如果数据目录不存在,要先创建好,还要确保mongod拥有该目录的写权限。
创建目录/data/db,然后启动mongod,看到如下信息:
可以看到Mongodb成功启动,并且监听27017端口。这个端口可以用来我们利用编程语言连接Mongodb数据库。
二、基本操作介绍
这里我们先要理解Mongodb中的三个称谓:数据库(db),可以按关系型数据库中的数据库来理解;集合(Collection),可以按关系型数据库中的表来理解;文档(Document)可以按关系型数据库中的行记录来理解。这里要分清关系型数据库和文档数据库在存储时的区别,关系型数据库假定数据的结构已经明确定义,数据是致密的,并且很大程度上是一致的,比如存储关于用户的一条数据,你定义了users表,其中有username , address , age 等等一些列字段,你所有要存入表中的数据,都必须按照这几个字段来存入,而不管某记录在某个字段是否有值,是否有存储的必要。而文档型数据库Mongodb则不然,它对数据的定义是松散的,某记录的某个值我可以随意定义存或不存,而不用担心某个字段没有值造成数据不统一。下面举个例子来说明:建立数据库prefs,向里面插入几条数据:
use prefs;
a={name:"houqd" , where:"beijing"};
b={name:"zhangsan" , where:"suzhou"}
c={name:"lisi" , where:"suzhou" , age:22}
d={name:"lisi" , where:"suzhou" , age:22 ,sex:"man" }
db.location.save(a);
db.location.save(b);
db.location.save(c);
db.location.save(d);
这样,数据存储就准备好了。这里有几点需要注意:use prefs命令将当前数据库改变为perfs数据库,但是数据库本身一直都没有显示的创建过。同样,通过传递每条数据给db.location.save()方法将数据写入location集合,但是集合也没有显示的创建过。在MongoDB中,数据库和集合都是在插入数据时才创建。因此,在上面创建是发生在插入第一条数据即:db.lication.save(a)的时候。
查看存储的内容:db.location.find(); 结果如下图所示(注:数据和这里的数据不同)
接下来我们就可以对数据进行查找了:db.location.find({name:"houqd"}) 查找出文档中所有name为houqd的文档
db.location.find({name:"wupengqing" , age:22}) 查找出文档中name为wupengqing且年龄为22岁的文档记录
三、MongoDB Java Dirver
MongoDB提供了提供了和编程语言之间的接口,包括:Java、PHP、Ruby和Python等,这里我们简要介绍和Java的接口
首先需要下载MongoDB的Java驱动,下载地址:http://pan.baidu.com/s/18AddW ,文件名为:mongo-java-driver-master.zip
官网下载链接:https://github.com/mongodb/mongo-java-driver/downloads 注意要下载和你的MongoDB版本一致的jar包
在Eclipse中新建Java项目MongoDB,右键点击:Build Path -》Add external Archives ... -》将你下载的jar包导入,最终情况如下:
四、编写Java连接MongoDB的测试程序
程序运行结果:
如上所示:数据库连接且查询成功!!
That's all , 坚持每天的学习,加油!!
文件名:mongodb-linux-x86_64-2.4.7.tgz
下载地址:http://pan.baidu.com/s/1kT5tu
系统环境:Centos-6.3
解压:tar -zvxf mongodb-linux-x86_64-2.4.7.tgz , 里面最重要的就是bin目录,不需要安装直接启动mongod就可以了
将该bin目录加入环境变量:
vi /etc/profile
export PATH=$PATH:/home/houqd/mongodb2.4.7/bin
source /etc/profile
直接运行mongod启动MongoDB数据库,这里可能会报如下的错误:
这里的原因是因为:MongoDB在启动的时候,默认在目录/data/db(Windows上是c:\data\db)下存储数据文件,可以使用dbpath选项指定一个不通的数据目录:
mongod --dbpath /youselfpath , 如果数据目录不存在,要先创建好,还要确保mongod拥有该目录的写权限。
创建目录/data/db,然后启动mongod,看到如下信息:
可以看到Mongodb成功启动,并且监听27017端口。这个端口可以用来我们利用编程语言连接Mongodb数据库。
二、基本操作介绍
这里我们先要理解Mongodb中的三个称谓:数据库(db),可以按关系型数据库中的数据库来理解;集合(Collection),可以按关系型数据库中的表来理解;文档(Document)可以按关系型数据库中的行记录来理解。这里要分清关系型数据库和文档数据库在存储时的区别,关系型数据库假定数据的结构已经明确定义,数据是致密的,并且很大程度上是一致的,比如存储关于用户的一条数据,你定义了users表,其中有username , address , age 等等一些列字段,你所有要存入表中的数据,都必须按照这几个字段来存入,而不管某记录在某个字段是否有值,是否有存储的必要。而文档型数据库Mongodb则不然,它对数据的定义是松散的,某记录的某个值我可以随意定义存或不存,而不用担心某个字段没有值造成数据不统一。下面举个例子来说明:建立数据库prefs,向里面插入几条数据:
use prefs;
a={name:"houqd" , where:"beijing"};
b={name:"zhangsan" , where:"suzhou"}
c={name:"lisi" , where:"suzhou" , age:22}
d={name:"lisi" , where:"suzhou" , age:22 ,sex:"man" }
db.location.save(a);
db.location.save(b);
db.location.save(c);
db.location.save(d);
这样,数据存储就准备好了。这里有几点需要注意:use prefs命令将当前数据库改变为perfs数据库,但是数据库本身一直都没有显示的创建过。同样,通过传递每条数据给db.location.save()方法将数据写入location集合,但是集合也没有显示的创建过。在MongoDB中,数据库和集合都是在插入数据时才创建。因此,在上面创建是发生在插入第一条数据即:db.lication.save(a)的时候。
查看存储的内容:db.location.find(); 结果如下图所示(注:数据和这里的数据不同)
接下来我们就可以对数据进行查找了:db.location.find({name:"houqd"}) 查找出文档中所有name为houqd的文档
db.location.find({name:"wupengqing" , age:22}) 查找出文档中name为wupengqing且年龄为22岁的文档记录
三、MongoDB Java Dirver
MongoDB提供了提供了和编程语言之间的接口,包括:Java、PHP、Ruby和Python等,这里我们简要介绍和Java的接口
首先需要下载MongoDB的Java驱动,下载地址:http://pan.baidu.com/s/18AddW ,文件名为:mongo-java-driver-master.zip
官网下载链接:https://github.com/mongodb/mongo-java-driver/downloads 注意要下载和你的MongoDB版本一致的jar包
在Eclipse中新建Java项目MongoDB,右键点击:Build Path -》Add external Archives ... -》将你下载的jar包导入,最终情况如下:
四、编写Java连接MongoDB的测试程序
package com.mongodb; import java.util.Set; import com.mongodb.Mongo ; import com.mongodb.DB; import java.net.UnknownHostException; public class MongodbConTest { private Mongo m = null ; private DB db ; // 建立与Mongodb数据库的连接 public void connect() { try{ m = new Mongo("192.168.255.11" , 27017); }catch(UnknownHostException e){ e.printStackTrace(); }catch(MongoException e){ e.printStackTrace(); } } // 列出dbName数据库中的所有集合 public void listAllCollections(String dbName) { if(m!=null){ db = m.getDB(dbName); Set<String> collections = db.getCollectionNames(); for(String c : collections){ System.out.println(c); } } } // 列出prefs数据库中location集合中的所有文档 public void listLocationCollectionDocuments() { if(m!=null){ db = m.getDB("prefs"); DBCollection collection = db.getCollection("location"); DBCursor cur = collection.find(); while(cur.hasNext()) { System.out.println(cur.next()); } }else{ System.out.println("Please connect to MongoDB and then fetch the collection"); } } public static void main(String[] args) { MongodbConTest mongodb = new MongodbConTest(); mongodb.connect(); mongodb.listAllCollections("prefs"); mongodb.listLocationCollectionDocuments(); } }
程序运行结果:
如上所示:数据库连接且查询成功!!
That's all , 坚持每天的学习,加油!!
相关文章推荐
- windows下安装mongodb以及node.js连接mongodb实例
- MongoDB的安装以及连接(windows)
- 如何安装mongodb服务以及如何使用可视化工具连接mongodb数据库
- SQL Server 2012的安装与环境配置以及在Java中连接数据库
- MongoDB安装以及java开发入门<一>
- MongoDB安装以及java开发入门<二>
- centOS7安装java以及连接外网问题(Ping不通)
- Ubuntu下安装部署MongoDB以及设置允许远程连接
- JAVA连接MYSQL以及MYSQL安装步骤细节
- 从零开始系列之spark与mongodb连接的安装记录_java方向(2)
- 从零开始系列之spark与mongodb连接的安装记录_java方向(1)
- Ubuntu下安装部署MongoDB以及设置允许远程连接
- mongodb在Windows安装配置及遇到的问题、java连接测试
- RabbitMQ安装配置以及java的连接配置demo
- MySQL、JDBC安装以及用java连接
- mysql安装,java以及c#连接mysql数据库
- mongoDB 安装以及在Java中的使用
- mongodb的安装(window)及java连接测试
- mongodb 的安装以及在多台服务器之间建立副本集 在虚拟机上安装多个linux实现 配合Java代码实现读写分离
- java如何获取mongodb的连接并执行简单的操作?