Java实现对MongoDB的增删改查

一、连接数据库

连接数据库,你需要指定数据库名称,如果指定的数据库不存在,mongo会自动创建数据库。

连接数据库的Java代码如下(无需密码的连接)

public class MongTest {

public static void main(String[] args) {

try {

MongoClient mongoClient = new MongoClient("localhost",27017);//连接到 mongodb 服务

MongoDatabase mongoDatabase= mongoClient.getDatabase("mymong");//连接到数据库

System.out.println("连接成功");

} catch (Exception e) {

System.err.println(e.getClass().getName()+":"+e.getMessage());

}

}

}

如果Mongo 需要验证用户名及密码,可以使用以下代码

public class MongoDBJDBC {

public static void main(String[] args){

try {

//连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址

//ServerAddress()两个参数分别为服务器地址和端口

ServerAddress serverAddress = new ServerAddress("localhost",27017);

List addrs = new ArrayList();

addrs.add(serverAddress);

//MongoCredential.createScramSha1Credential()三个参数分别为用户名数据库名称密码

MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());

Listcredentials = new ArrayList();

credentials.add(credential);

//通过连接认证获取MongoDB连接

MongoClient mongoClient = new MongoClient(addrs,credentials);

//连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");

System.out.println("Connect to database successfully");

} catch (Exception e) {

System.err.println( e.getClass().getName() + ": " + e.getMessage() );

}

}

}

二、创建集合

使用 com.mongodb.client.MongoDatabase 类中的createCollection()来创建集合:

mongoDatabase.createCollection("test");//创建集合test

System.out.println("创建集合成功!");

三、获取集合

使用com.mongodb.client.MongoDatabase类的getCollection() 方法来获取一个集合 :

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合选择成功!");

四、插入文档

使用com.mongodb.client.MongoCollection类的insertMany() 方法来插入一个文档 :

Document document = new Document("title","UserInfo");

document.append("Name", "张三");

document.append("Age", 30);

document.append("Addr", "西安");

List documents = newArrayList();

documents.add(document);

collection.insertMany(documents);

System.out.println("文档插入成功");

五、检索所有文档

使用 com.mongodb.client.MongoCollection 类中的find() 方法来获取集合中的所有文档。此方法返回一个游标,所以需要遍历这个游标:

FindIterable findIterable= collection.find();

MongoCursor mongoCursor = findIterable.iterator();

while(mongoCursor.hasNext()){

System.out.println(mongoCursor.next());

}

 

 

将文档信息封装成对象:

List userList = newArrayList();

User user =null;

while(mongoCursor.hasNext()){

user = newUser();

user.setName(mongoCursor.next().getString("Name"));

user.setAge(mongoCursor.next().getInteger("Age"));

user.setAddr(mongoCursor.next().getString("Addr"))

userList.add(user);

}

for(User u:userList){

System.out.println(u);

}

User类的定义:

public classUser {

private String name;

private Integer age;

private String addr;

//省去set/get方法

@Override

public String toString() {

return "User [name="+ name+ ", age="+ age+ ", addr="+ addr+ "]";

}

}

六、更新文档

使用 com.mongodb.client.MongoCollection 类中的updateMany() 方法来更新集合中的文档。

//更新文档   将文档中Age=30的文档修改为Age=50  
         collection.updateMany(Filters.eq("Age",30), new Document("$set",new Document("Age",50))); 
         //检索查看结果 
         FindIterable<</span>Document> findIterable = collection.find(); 
         MongoCursor<</span>Document> mongoCursor = findIterable.iterator(); 
         while(mongoCursor.hasNext()){ 
            System.out.println(mongoCursor.next()); 
         } 

七、删除第一个文档

要删除集合中的第一个文档,首先需要使用com.mongodb.DBCollection类中的 findOne()方法来获取第一个文档,然后使用remove 方法删除。

//删除符合条件的第一个文档 
         collection.deleteOne(Filters.eq("Age",30)); 
         //删除所有符合条件的文档 
         collection.deleteMany (Filters.eq("Age",30));

原文地址:https://www.cnblogs.com/lone5wolf/p/10856039.html

时间: 2024-10-28 10:20:29

Java实现对MongoDB的增删改查的相关文章

Java实现对cookie的增删改查

原文:http://blog.csdn.net/k21325/article/details/54377830 1.springMVC框架:           [java] view plain copy /** * 读取所有cookie * 注意二.从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交.浏览器提交Cookie时只会提交name与value属性.maxAge属性只被浏览器用来判断Cookie是否过期 * @param request * @par

web项目总结——通过jsp+servlet实现对oracle的增删改查功能

1.DAO模式 分包:依次建立 entity:实体包,放的是跟oracle数据库中表结构相对应的对象的属性,也就是这个对象有什么 dao:增删改查接口,实现增删改查的具体方法 service:同dao,也是一个接口,一个接口的实现类,方法什么的都跟dao差不多 servlet:新建servlet类,继承HttpServlet类,一个方法建立一个servlet类,根据不同的方法选择使用doGet().doPost()方法 .services()既包含doGet 又包含doPost 新建jsp页面

Android 利用xUtils框架实现对sqllite的增删改查

首先下载xUtils,下载地址:https://github.com/wyouflf/xUtils  把下载好的文件压缩,把里面的jar包拷进项目中如图所示: 这里新建一个User类进行测试增删改查 package com.example.xutilsdemo; public class User { private int id; private String name; private String email; public int getId() { return id; } publi

Java连接MongoDB进行增删改查

1.导入必须的包: 详情看项目:http://pan.baidu.com/s/1cvDAOY 2.通过Myeclipse创建WEB项目 3. 3.bean:创建实体类 package com.bean; import java.io.Serializable; import java.util.Date; /** * @since 对应于mongodb中的数据库test中的表com * @author think * */ public class Company implements Seri

Scala对MongoDB的增删改查操作

=========================================== 原文链接: Scala对MongoDB的增删改查操作 转载请注明出处! =========================================== 依赖环境:jdk1.8.Scala 2.12.idea mongodb Driver:3.1.1.注意,mongo for scala的驱动涉及多个jar(如下图),依赖于mongo-java-driver.jar 这里使用的sbt管理依赖,直接在bu

MongoDB的增删改查 转

MongoDB的增删改查 (黎明你好原创作品,转载请注明) MongoDB中数据的基本单元叫做文档,采用json的键-值的方式.多个键及其关联的值有序的存放在一起变是文档.类似于编程语言中的键值关系.MongoDB文档都是BSON文档,他是一个JSON的二进制形式. MongoDB的文档 MongoDB中文档被存储在集合中.集合是一组有关系索引的文档.集合类似于关系数据库中的表. MongoDB的集合 2.1 方法参考 查询游标方法 名称 说明 cursor.count() 返回游标中的文档的数

MongoDB(三)——增删改查

MongoDB作为非关系型数据库,还是传统数据库的增删改查有很大的区别的,这里只是将知识点进行了一下提纲挈领,实际用的时候,我们百度一下详细用法即可.先看大的几个方面: 一,对于里边的插入和删除不再过多赘述,相对来说知识点比较少.先来看一下更新,常用操作还是非常有用的,需要我们根据实际情况灵活运用,这里只是提出了知识点,需要百度出例子来学习使用: 2,查询也是一样,看一下知识点的汇总,其实用几个,还是有规律的,比较容易记录的: 3,看一下固定集合Capped Collection:顾名思义是有着

C# 对MongoDB 进行增删改查的简单操作

C# 对MongoDB 进行增删改查的简单操作 下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 1,连接数据库 /// <summary> /// 数据库连接 /// </summary> private const string conn = "mongodb://127.0.0

MongoDB之增删改查(一)

本文主要介绍MongoDB数据库增删改查操作. 增 mongoDB和其他关系型数据库一样,通过insert来增加数据到集合中去. db.collectionName.insert(内容) 显示数据库中所有集合: show collections 删 MongoDB中通过remove来删除集合中符合一定条件的文档. remove接受一个参数,作为寻找要删除文档的条件: 当然了,也可以直接删除一整个集合,通过drop方法: db.person.drop() 删除集合然后重建索引比删除集合中所有的文档