第51章:Java操作MongoDB-[Mongo-Java-2.x]
package cn.mldn.demo;
import com.mongodb.DB;
import com.mongodb.MongoClient;
public class MongoDemoA {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
MongoClient内部实现了一个连接池,默认初始化10个连接,MongoClient对象是线程安全的,因此可以只创建一个,在多线程环境下安全使用。
另外要注意,close方法将关闭当前所有活跃的连接,所以应该在确定不再使用MongoDB的时候才应该关闭。
DB db = client.getDB("mldn"); // 连接数据库
1:数据库名区分大小写,另外如果数据库不存在,不会报错,而是新建一个
2: DB对象代表了和数据库的一个连接。默认情况下,当执行完数据库的查询或者更新操作后,连接将自动回到连接池中。不需要我们手动调用代码放回池中。
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
for (String name : db.getCollectionNames()) {
System.out.println("集合名字:" + name);
}
}
client.close(); // 关闭数据库连接
}
}
package cn.mldn.demo;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;
public class MongoDemoB {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol") ; // 要操作的集合名字
for (int x = 0 ; x < 100 ; x ++) { // 循环保存数据
BasicDBObject obj = new BasicDBObject() ;
obj.append("deptno" , 1000 + x) ; // 设置部门编号信息
obj.append("dname" , "技术部 - " + x) ;
obj.append("loc" , "北京 - " + x) ;
col.insert(obj) ; // 保存数据
}
}
client.close(); // 关闭数据库连接
}
}
新增
1:第一种方式,示例:
BasicDBObjectdata1 = new BasicDBObject();
data1.put("userId", "u1234");
data1.put("name", "name123");
或者data1.append("userId", "u1234").append("name", "name123");
users.insert(data1);
//或者users.save(data1);
2:第二种方式,示例:
BasicDBObjectBuilder data1=BasicDBObjectBuilder.start().add("userId","u234").add("name","name234");
users.insert(data1.get());
3:第三种方式,示例:
Map<String, Object> data1 = new HashMap<String, Object>();
data1.put("userId","u345");
users.insert(new BasicDBObject(data1));
4:第四种方式,示例:
String json = "{'userId': 'u456','name' : 'name456'}";
DBObject data1 = (DBObject)JSON.parse(json);
users.insert(data1);
package cn.mldn.demo;
import com.mongodb.*;
public class MongoDemoC {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol") ; // 要操作的集合名字
DBCursor cursor = col.find() ; // 得到全部内容
while (cursor.hasNext()) {
DBObject obj = cursor.next() ; // 得到每一个内容
System.out.println("部门编号:" + obj.get("deptno") + ",名称:" + obj.get("dname"));
}
}
client.close(); // 关闭数据库连接
}
}
package cn.mldn.demo;
import com.mongodb.*;
public class MongoDemoD {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol") ; // 要操作的集合名字
DBCursor cursor = col.find().skip(0).limit(10) ; // 得到全部内容
while (cursor.hasNext()) {
DBObject obj = cursor.next() ; // 得到每一个内容
System.out.println("部门编号:" + obj.get("deptno") + ",名称:" + obj.get("dname"));
}
}
client.close(); // 关闭数据库连接
}
}
package cn.mldn.demo;
import com.mongodb.*;
public class MongoDemoE {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol") ; // 要操作的集合名字
DBObject cond = new BasicDBObject() ; // 准备设置查询过滤条件
// 设置deptno的数据范围在1000 ~ 1020之间
cond.put("deptno",new BasicDBObject("$gte",1000).append("$lte",1020)) ;
// 设置之前所定义的查询条件
DBCursor cursor = col.find(cond).skip(0).limit(50) ; // 得到全部内容
while (cursor.hasNext()) {
DBObject obj = cursor.next() ; // 得到每一个内容
System.out.println("部门编号:" + obj.get("deptno") + ",名称:" + obj.get("dname"));
}
}
client.close(); // 关闭数据库连接
}
}
package cn.mldn.demo;
import com.mongodb.*;
public class MongoDemoF {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol"); // 要操作的集合名字
DBObject cond = new BasicDBObject(); // 准备设置查询过滤条件
// 设置deptno的数据范围在1000 ~ 1020之间
cond.put("deptno", new BasicDBObject("$in", new int[]{1001, 1003, 1005}));
// 设置之前所定义的查询条件
DBCursor cursor = col.find(cond).skip(0).limit(50); // 得到全部内容
while (cursor.hasNext()) {
DBObject obj = cursor.next(); // 得到每一个内容
System.out.println("部门编号:" + obj.get("deptno") + ",名称:" + obj.get("dname"));
}
}
client.close(); // 关闭数据库连接
}
}
package cn.mldn.demo;
import com.mongodb.*;
import java.util.regex.Pattern;
public class MongoDemoG {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol"); // 要操作的集合名字
Pattern pattern = Pattern.compile("5") ; // 设置过滤条件
DBObject cond = new BasicDBObject(); // 准备设置查询过滤条件
// 设置deptno的数据范围在1000 ~ 1020之间
cond.put("dname", new BasicDBObject("$regex", pattern));
// 设置之前所定义的查询条件
DBCursor cursor = col.find(cond).skip(0).limit(50); // 得到全部内容
while (cursor.hasNext()) {
DBObject obj = cursor.next(); // 得到每一个内容
System.out.println("部门编号:" + obj.get("deptno") + ",名称:" + obj.get("dname"));
}
}
client.close(); // 关闭数据库连接
}
}
package cn.mldn.demo;
import com.mongodb.*;
import java.util.regex.Pattern;
public class MongoDemoH {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol"); // 要操作的集合名字
DBObject condA = new BasicDBObject(); // 准备设置要修改的过滤条件
condA.put("deptno" , 1000) ; // 设置修改的内容
DBObject condB = new BasicDBObject() ; // 修改器的设置
condB.put("$set", new BasicDBObject("dname", "修改后的部门名称")) ;
WriteResult result = col.update(condA, condB) ;
System.out.println(result.getN());
}
client.close(); // 关闭数据库连接
}
}
DBObject condition = new BasicDBObject("userId","u234");
users.update(condition, new BasicDBObject("userId","cc").append("name","cc"));
当然也可以使用修改器
users.update(condition, new BasicDBObject("$set",new
BasicDBObject("name","ccNew")));
package cn.mldn.demo;
import com.mongodb.*;
public class MongoDemoI {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol"); // 要操作的集合名字
DBObject condA = new BasicDBObject(); // 准备设置要修改的过滤条件
condA.put("deptno",new BasicDBObject("$gte",1000).append("$lte",1020)) ;
DBObject condB = new BasicDBObject() ; // 修改器的设置
condB.put("$set", new BasicDBObject("dname", "修改后的部门名称")) ;
WriteResult result = col.updateMulti(condA, condB) ;
System.out.println(result.getN());
}
client.close(); // 关闭数据库连接
}
}
DBObject condition = new BasicDBObject("userId","u234");
users.update(condition, new BasicDBObject("userId","cc").append("name","cc"));
当然也可以使用修改器
users.update(condition, new BasicDBObject("$set",new
BasicDBObject("name","ccNew")));
package cn.mldn.demo;
import com.mongodb.*;
public class MongoDemoJ {
public static void main(String[] args) throws Exception {
// 设置要连接的数据库的主机名称与端口号
MongoClient client = new MongoClient("localhost", 27001);
DB db = client.getDB("mldn"); // 连接数据库
// 进行数据库的用户名与密码验证
if (db.authenticate("hello", "happy".toCharArray())) {
DBCollection col = db.getCollection("deptcol"); // 要操作的集合名字
DBObject cond = new BasicDBObject(); // 准备设置要修改的过滤条件
cond.put("deptno",new BasicDBObject("$gte",1000).append("$lte",1020)) ;
WriteResult result = col.remove(cond) ;
System.out.println(result.getN());
}
client.close(); // 关闭数据库连接
}
}
users.remove(new BasicDBObject("userId","u1"));
第51章:Java操作MongoDB-[Mongo-Java-2.x]的更多相关文章
- 【MongoDB for Java】Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...
- [转]MongoDB for Java】Java操作MongoDB
原文地址: MongoDB for Java]Java操作MongoDB 开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开 ...
- Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html 介绍到了在MongoDB的控制台完成MongoDB的数据操作,通 ...
- Mongodb快速入门之使用Java操作Mongodb
[IT168 专稿]在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作. HelloWorld程序 学习任何程序的第一步,都是编 ...
- JAVA操作MongoDB数据库
1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...
- Mongodb入门并使用java操作Mongodb
转载请注意出处:http://blog.csdn.net/zcm101 最近在学习NoSql,先从Mongodb入手,把最近学习的总结下. Mongodb下载安装 Mongodb的下载安装就不详细说了 ...
- 浅谈如何用Java操作MongoDB
NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库.本文主要讲述如何使用Java操作Mon ...
- java操作mongodb(连接池)(转)
原文链接: java操作mongodb(连接池) Mongo的实例其实就是一个数据库连接池,这个连接池里默认有10个链接.我们没有必要重新实现这个链接池,但是我们可以更改这个连接池的配置.因为Mong ...
- Java操作Mongodb(转载)
好文章,值得收藏 HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mo ...
- [转载]使用Java操作Mongodb
HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mongodb,必须先 ...
随机推荐
- python学习Day8 三种字符类型、文件操作
复习 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5') | ...
- 提高GitHub下载速度
修改/etc/hosts 加上 151.101.72.249 GitHub.global.ssl.fastly.net 192.30.253.112 github.com
- oracle数值函数 abs()、 ceil()、 cos()、 cosh()
1.abs绝对值函数 格式 abs(number) 即abs(数值) 例如 abs(100) 结果为 100,abs(-100)结果为100: 2.ceil用来取数值最小整数函数 格式 ceil(nu ...
- C代码通过编译器编译成可执行文件, 需经历 预处理、编译、汇编、链接 四个阶段
内容借鉴 于yqzheng 一.预处理 1.任务: 进行宏定义展开.头文件展开.条件编译, 不检查语法 2.命令: gcc -E [源文件] -o [预处理文件] gcc -E hello.c -o ...
- Node.js 薄荷网爬取
Node.js:是一个基于前端的服务器,主要的特点:单线程,异步I/O(对这个没有了解,开发起来真的会踩很多坑),事件驱动 前言:本人主要是一个以使用.Net平台下的语言,进行开发的一个菜鸡,之前面试 ...
- python note 17 random、time、sys、os模块
1.random模块(取随机数模块) # 取随机小数 : 数学计算 import random print(random.random())# 取0-1之间的小数 print(random.unifo ...
- gridview 选中某行后 某行的按钮显示,无选中则隐藏
如后面的加号,选中行时出现,未被选中的隐藏 解决: 在按钮中的visibility属性中绑定该item是否选中,再用转换器转换 <Button Name="btnA" Cli ...
- php判断用户是否关注微信公众号
方法一: <?php $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_cr ...
- canvas 的HTML属性
(一) width/height 默认值与单位 Canvas 标签只有两个属性—— width\height,作为一种替换元素,它默认大小为300×150像素. canvas的单位只能是是px,值只 ...
- Layer 创建 和 lamdba function 创建 和 API GateWay 配置 和 添加依赖
进入控制台 选择 Lamdba 服务 进入控制面板, 单击右边: 创建函数 然后进入此图界面 添加lamdba 函数 名称 选择运行环境:python 选择角色 选择现有角色, 角色创建 可以参考 无 ...