java客户端连接MongoDB数据库的简单使用
1、下载mongoDB的jar包,并引入到工程的CLASSPATH中下载:mongodb2.5驱动包下载
如果使用maven项目,最新的依赖如下:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.2.0</version>
</dependency>
需要特别注意的是如果工程不是maven项目而是通过引入jar包的方式,那么在mongdb3.X之后,除了要引入mongo-java-driver之外,还需要手动引入bson和mongo-java-core的两个jar包,因为driver依赖这两个包,而且版本最好要一致,不然会报各种找不到jar包的错误。而如果是工程是maven项目那么就只需要引入mongodb的driver依赖即可,maven会自动去下载bson和mongo-java-core的依赖jar包。如下截图所示:
aaarticlea/png;base64,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" alt="" />
Mongo m = new Mongo();
// 或者
Mongo m = new Mongo( "localhost" );
// 或者
Mongo m = new Mongo( "localhost" , 27017 );
// 或者, to connect to a replica set, supply a seed list of members
Mongo m = new Mongo(Arrays.asList(new ServerAddress("localhost", 27017),
new ServerAddress("localhost", 27018),
new ServerAddress("localhost", 27019)));
DB db = m.getDB("mydb" );
3、安全验证(可选)
boolean auth = db.authenticate(userName, password);
4、获取集合列表。每个数据库都存在零个或多个集合,需要时你可以获得他们的列表:
Set<String> colls = db.getCollectionNames(); for (String s : colls) {
System.out.println(s);
}
5、获得一个集合。要获得某个特定集合,你可以指定集合的名字,并使用getCollection()方法:
DBCollection coll = db.getCollection("blog");
6、插入文档
mongodb存储JSON格式的文档,而在Java中表示这种数据格式的最简便的类就是Map了。MongoDB Java Driver中提供的BasicDBObject就是个Map(它继承自LinkedHashMap并实现DBObject接口),它会将Map中的数据转换成BSON格式传输到mongodb。
BasicDBObject doc = new BasicDBObject();
doc.put("name", "MongoDB");
doc.put("type", "database");
doc.put("count", 1);
BasicDBObject info = new BasicDBObject();
info.put("x", 203);
info.put("y", 102);
doc.put("info", info);
coll.insert(doc);
mongodb中每个插入的文档会产生个唯一标识_id。当调用coll.insert(doc);时,driver会检查其中是否有_id字段,如果没有则自动生成ObjectId实例来作为_id的值,这个ObjectId由4部分编码而成:当前时间、机器标识、进程号和自增的整数。insert函数也支持插入文档列表:insert(List list)
7、查询
find函数是查询集合的,它返回的DBCursor是DBObject的迭代器。如下代码:
BasicDBObject query = new BasicDBObject();
query.put("i", 71);
cursor = coll.find(query);
try {
while(cursor.hasNext()) {
System.out.println(cursor.next());
}
} finally {
cursor.close();
}
8、建立索引
创建索引语句如:coll.createIndex(new BasicDBObject(“i”, 1)); ,其中i表示要索引的字段,1表示升序(-1表示降序)。可以看到,DBObject成为java客户端通用的结构表示。查看索引使用DBCollection.getIndexInfo()函数。
java客户端连接MongoDB数据库的简单使用的更多相关文章
- 【RabbitMQ】CentOS安装RabbitMQ,及简单的Java客户端连接
在CentOS安装 因Rabbit MQ使用Erlang,所以需要先安装Erlang,安装过程中可能会遇到种种问题,可参考CentOS 6.5安装Erlang/OTP 17.0.然后就可以安装MQ了. ...
- atitit.客户端连接oracle数据库的方式总结
客户端连接oracle数据库的方式总结 目录 Java程序连接一般使用jar驱动连接..... 桌面GUI一般采取c语言驱动oci.dll 直接连接... 间接连接(需要配置tns及其envi var ...
- 配置ORACLE 客户端连接到数据库
--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ...
- Elasticsearch - java客户端连接
写在前面的话:读书破万卷,编码如有神-------------------------------------------------------------------- 最简单的在java客户端连 ...
- Zookeeper学习记录及Java客户端连接示例
1. Zookeeper 1.1 简介 ZooKeeper is a centralized service for maintaining configuration information, na ...
- 远程客户端连接MysqL数据库太慢解决方案
远程客户端连接MysqL数据库太慢解决方案局域网客户端访问mysql 连接慢问题解决. cd /etc/mysql vi my.conf [mysqld] skip-name-resolve 此选项禁 ...
- phoenix客户端连接hbase数据库报错:Traceback (most recent call last): File "bin/sqlline.py", line 27, in <module> import argparse ImportError: No module named argparse
环境描述: 操作系统版本:CentOS release 6.5 (Final) phoenix版本:phoenix-4.10.0 hbase版本:hbase-1.2.6 现象描述: 通过phoenix ...
- 通过java客户端连接hbase 注意事项
1.通过Java客户端连接Hbase,其中hbase通过zookeeper去管理,需要注意的是客户端端口. 通过在浏览器端输入地址查看:http://192.168.3.206:60010/maste ...
- Toad客户端连接Oracle数据库报错 ORA-12170:TNS:连接超时
Oracle 客户端连接Oracle数据库报错 ORA-12170:TNS:连接超时 排错步骤: 1. 查看网络是否畅通: 打开cmd,ping数据库IP 2. 查看端口是否畅通: 打开cmd ...
随机推荐
- 【JavaScript权威指南(第五版)】笔记之第一部分 核心javascript (第1章~第12章)
第一章 javascript概述 ①.javascript是一种松散类型语言;也是一种解释型语言; 第二章 词法结构 ①.大小写敏感 第三章 数据类型和值 ①.isFi ...
- 关于H5中的Canvas API的探索
Canvas API 是H5中比较炫酷的一部分内容.可以通过它动态的生成和展示图形.图表.图像以及动画.下面我将学习一下Canvas API. 最后有书籍和源码. 一.概述: 1.基本元素: 在网页上 ...
- C# 调试程序弹出 没有可用于当前位置的源代码 对话框
解决方案: 1.右键点击解决方案->属性->通用属性->调试源文件. 2.看看你的程序有没有被增加到“不查找这些源文件”这个框里. 3.如果有删除,然后重新编译即可调试,解决问题.
- 第五篇、HTML标签类型
<!--1.块级标签 独占一行,可以设置高度和宽度 如:div p h ul li -----display: none(隐藏标签) block(让行内标签变块级标签) inline(让块级标 ...
- asp:保留两位小数:
<%=Formatnumber(-6665.8999,3,-1,-1,0)%>(6665.900)一个例子用到了函数Formatnumber()的所有参数:第一个参数(-6665.8999 ...
- C#break、continue、return、goto
1.break break语句会使运行的程序立即退出包含在其中的最内层循环(结束此次循环且结束该循环控制体)或者switch语句 ; ; j < ; j++) { i++; )break; Co ...
- [leetcode] 398. Random Pick Index
我是链接 看到这道题,想到做的几道什么洗牌的题,感觉自己不是很熟,但也就是rand()函数的调用,刚开始用map<int, vector<int >>来做,tle,后来就想着直 ...
- python 安装mysql 客户端遇到的问题
一. Win7 64位编译Python扩展解决”error: Unable to find vcvarsall.bat”问题 系统上安装有Visual Studio 2010以及相应的SDK,然后 ...
- 程序员面试题精选100题(38)-输出1到最大的N位数[算法]
作者:何海涛 出处:http://zhedahht.blog.163.com/ 题目:输入数字n,按顺序输出从1最大的n位10进制数.比如输入3,则输出1.2.3一直到最大的3位数即999. 分析:这 ...
- Linux与Windows的桥梁--共享目录
1.关闭防火墙和selinux # service iptables stop # chkconfig --level 2345 iptables off ...