MongoDB简单操作(java版)
新建maven项目,添加依赖:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
测试代码:
package com.skyer.test; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import org.bson.Document;
import org.junit.After;
import org.junit.Before;
import org.junit.Test; import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.QueryOperators;
import com.mongodb.client.ListIndexesIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult; public class TestMongo { // 声明相关变量
MongoClientURI connectionString = null;
MongoClient mongoClient = null;
MongoDatabase database = null;
MongoCollection<Document> collection = null; /**
* 获取相关对象
*/
@Before
public void getConnection() {
connectionString = new MongoClientURI("mongodb://192.168.88.128:27017"); // 服务器连接地址
mongoClient = new MongoClient(connectionString); // 获取客户端对象
database = mongoClient.getDatabase("skyer"); // 获取数据库
collection = database.getCollection("test"); // 获取连接
} /**
* 添加一个
*/
@Test
public void insert() {
Document doc = new Document("name", "skyer")
.append("type", "database")
.append("count", 1)
.append("versions", Arrays.asList("v2.7", "v4.2", "v7.2"))
.append("info", new Document("x", 27).append("y", 42));
collection.insertOne(doc);
} /**
* 批量添加
*/
@Test
public void insertMany() {
List<Document> docs = new ArrayList<Document>();
for (int i = 0; i < 100; i++) {
docs.add(new Document("i", i));
}
collection.insertMany(docs);
} /**
* 查询首个
*/
@Test
public void queryFirst() {
Document doc = collection.find().first();
System.out.println(doc.toJson());
} /**
* 查询全部
*/
@Test
public void findAll() {
for (Document doc : collection.find()) {
System.out.println(doc.toJson());
}
} /**
* 查询全部
*/
@Test
public void findAll2() {
MongoCursor<Document> cursor = collection.find().iterator();
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} /**
* 分页查询
*/
@Test
public void findByPage() {
MongoCursor<Document> cursor = collection.find().skip(0).limit(5).iterator(); // 查询前五个记录
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} /**
* 查询一个
*/
@Test
public void findOne() {
Document doc = collection.find(new Document("i", 27)).first(); // 查询i值为27的记录
System.out.println(doc.toJson());
} /**
* 条件查询
*/
@Test
public void findByCondition1() {
BasicDBObject condition = new BasicDBObject("i", new BasicDBObject(QueryOperators.GT, 95)); // 查询i大于95的记录
MongoCursor<Document> cursor = collection.find(condition).iterator();
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} /**
* 条件查询
*/
@Test
public void findByCondition2() {
BasicDBObject condition = new BasicDBObject(QueryOperators.AND,
new BasicDBObject[] {
new BasicDBObject().append("i", new BasicDBObject(QueryOperators.GT, 95)),
new BasicDBObject().append("i", new BasicDBObject(QueryOperators.LTE, 97))
}); // 查询95<i<=97的记录
MongoCursor<Document> cursor = collection.find(condition).iterator();
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} /**
* 条件查询:in
*/
@Test
public void testIn() {
BasicDBObject condition = new BasicDBObject("i", new BasicDBObject(QueryOperators.IN, new int[] {27, 42}));
MongoCursor<Document> cursor = collection.find(condition).iterator();
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} /**
* 条件查询:not in
*/
@Test
public void testNotIn() {
BasicDBObject condition = new BasicDBObject("i", new BasicDBObject(QueryOperators.NIN, new int[] {34, 47}));
MongoCursor<Document> cursor = collection.find(condition).iterator();
while (cursor.hasNext()) {
System.out.println(cursor.next().toJson());
}
} /**
* 创建普通索引
*/
@Test
public void createIndex() {
String result = collection.createIndex(new BasicDBObject("name", 1));
System.out.println(result);
} /**
* 创建文本索引
*/
@Test
public void createTextIndex() {
String result = collection.createIndex(new Document("name", "text"));
System.out.println(result);
} /**
* 获取所有索引
*/
@Test
public void getAllIndex() {
ListIndexesIterable<Document> list = collection.listIndexes();
for (Document doc : list) {
System.out.println(doc.toJson());
}
} /**
* 删除
*/
@Test
public void testDelete() {
DeleteResult result = collection.deleteOne(new BasicDBObject("i", 2));
System.out.println(result.getDeletedCount());
} /**
* 批量删除
*/
@Test
public void testDeleteMany() {
DeleteResult result = collection.deleteMany(new BasicDBObject("i", new BasicDBObject(QueryOperators.IN, new int[] {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
})));
System.out.println(result.getDeletedCount());
} /**
* 更新
*/
@Test
public void testUpdateOne() {
UpdateResult result = collection.updateOne(new BasicDBObject("i", 10), new Document("$set", new Document("i", 110)));
System.out.println(result.getMatchedCount());
} /**
* 释放资源
*/
@After
public void releaseConnection() {
mongoClient.close();
} }
MongoDB简单操作(java版)的更多相关文章
- .Net Core MongoDB 简单操作。
一:MongoDB 简单操作类.这里引用了MongoDB.Driver. using MongoDB.Bson; using MongoDB.Driver; using System; using S ...
- MongoDB简单操作
Hadoop核心技术厂商Cloudera将在2014/06推出hadoop Ecosystem与MongoDB的整合产品,届时MongoDB与ipmala及hbase,hive一起用; 开源linux ...
- MongoDB 简单操作
MongoDB操作 之 原生ORM,根本不存在SQL语句,数据之间不存在联系 查看数据库(查看磁盘中的数据库) > show databases; 使用数据库 > use local 创建 ...
- Node js MongoDB简单操作
//win7环境下node要先安装MongoDB的相关组件(非安装MongoDB数据库),在cmd命令行进入node项目目录后执行以下语句 //npm install mongodb //创建连接 v ...
- java版gRPC实战之二:服务发布和调用
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 【云栖社区001-数据结构】如何实现一个高效的单向链表逆序输出(Java版)
如题 动手之前,发现自己很擅长用C语言来写链表. 不过,既然自己做的是Java开发,那么还是用Java实现这个算法吧:毕竟,以后的若干年里都差不多要跟Java打交道了. 于是,先将Java版的链表自学 ...
- SWFUpload简单使用样例 Java版(JSP)
SWFUpload官方的样例都是PHP的,在这里提供一个Java版的最简单的使用样例,使用JSP页面完毕全部操作. 实现上传,分为三步: 1.JavaScript设置SWFUpload部分(与官方样例 ...
- java 对mongodb的操作
java 对mongodb的操作 1.1连单台mongodb Mongo mg = newMongo();//默认连本机127.0.0.1 端口为27017 Mongo mg = newMongo( ...
- ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作
1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其 ...
随机推荐
- 很漂亮的PHP验证码(记录)
在提交表单的时候为了防止机器操作或者是恶意的攻击,在填写表单的时候一般都用验证码来过滤掉一些非法提交数据.今天给大家介绍一款超实用超漂亮的PHP验证码库:Captcha. 安装 使用composer: ...
- mysql 的 alter table 操作性能小提示
通常情况下,修改表的结构一般不会有太大问题,无非就是一个 alter table 操作,但是对于大表做 alter 操作是一个大问题,请小伙伴们慎重. mysql执行大部分修改表结构操作方法是创建一个 ...
- 2019.03.25 bzoj4539: [Hnoi2016]树(主席树+倍增)
传送门 题意:给一棵大树,令一棵模板树与这棵树相同,然后进行mmm次操作,每次选择模板树中的一个节点aaa和大树中一个节点bbb,把aaa这棵子树接在bbb上面,节点编号顺序跟aaa中的编号顺序相同. ...
- 实现PHP服务端和c#客户端数据交换
服务端实现功能1,数据库的访问dbhelper.php包括执行语句返回多行,返回json数据,返回单条记录,返回第一行第一列的整数,返回第一行第一列的浮点数,返回第一行第一列的双精度数,返回第一行第一 ...
- gulp使用入门
介绍:Gulp 是基于node.js的一个前端自动化构建工具,可以使用它构建自动化工作流程(前端集成开发环境):不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成,大大 ...
- Python连接oracle数据库的基本操作
1,创建数据库连接connect和关闭数据库连接close 1.1 创建数据库连接的三种方式: 方法一:用户名.密码和监听分开写 import cx_Oracle db=cx_Oracle.conne ...
- python csv读写
https://blog.csdn.net/taotiezhengfeng/article/details/75577998
- 自学Python第一天
大学毕业后在一家第三方小程序公司做客服,心有不甘,看着同学们有做安防售前的,有在政府.企业里面做网络工程师的.更有甚者天天搭建个云计算啥的都是家常便饭,再想想自己,堂堂网络工程专业,却做了客服,还是没 ...
- kali 日志
MAC协议安全攻防 kali 攻击 输入 macof -i eth0 -i 选择网卡 防御 使用交换机的安全特性 Port Security DCRS 需要开启 mac地址表学习使用cpu控制 mac ...
- 装mongondb数据库
装mongondb数据库装好以后进入c盘mongondb bin里边 复制地址 将其放入环境变量里边 放之前需要往前边加一个英语的;在 d盘 建一个data文档 里边简历一个db文件夹 cmd命令框输 ...