Java操作mongodb的基本操作

这篇具有很好参考价值的文章主要介绍了Java操作mongodb的基本操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

MongoDB的基本操作

新增

方式一:

方式二:

删除:

 带条件的删除

修改

修改条件

修改并添加

 多条件修改:

查询

普通查询

条件查询

​编辑

多条件查询

模糊查询:

查询除来的结果有两种的显示方式:


MongoDB中的文档本质上是一种类似JSON的BSON格式的数据。

BSON是一种类似JSON的二进制格式数据,它可以理解为在JSON基础上添加了一些新的数据类型。

MongoDB的基本操作

首先要导入操作MongoDB所需要的jar包:

Java操作mongodb的基本操作

 Java连接MongoDB数据库

MongoClient mc=new MongoClient("localhost",27017);
MongoDatabase database = mc.getDatabase("myschool");
MongoCollection<Document> collection = database.getCollection("student");

第一句是获取链接对象。

第二句是获取myschool的数据库,如果没有会在添加的时候自动的创建。

第三句是获取名为student的集合,如果没有也会在添加的时候自动的创建

新增

方式一:

package com.ape.select;

import java.util.Date;

import org.bson.Document;

import com.ape.bean.Student;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;

public class addDemoGson {

	public static void main(String[] args) {
		Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
		
		//连接对象
		MongoClient mc = new MongoClient("localhost",27017);
		
		//库对象
		MongoDatabase db = mc.getDatabase("myschool");
		
		//集合对象
		MongoCollection<Document> collection = db.getCollection("student");
		
		Student s =new Student();
		s.setBirthday(new Date());
		s.setClassid(100);
		s.setSid(2);
		s.setSname("小王");
		s.setSsex("男");
		
		//转换
		String json = gson.toJson(s);
		System.out.println(json);
		collection.insertOne(Document.parse(json));
		mc.close();	
	}
}

Java操作mongodb的基本操作

 Java操作mongodb的基本操作

该种方式进行了手动的解析。

方式二:

package com.ape.add;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;

public class adddemo {
	public static void main(String[] args) {
		MongoClient mc=new MongoClient("localhost",27017);
		MongoDatabase database = mc.getDatabase("myschool");
		MongoCollection<Document> collection = database.getCollection("student");
//		Document document = new Document();
//		document.put("name", "张三");
//		document.put("age", 18);
//		document.put("birthday", new Date());
//		document.put("sex", "男");
//		collection.insertOne(document);
		//mc.close();
		
		
		//添加多条
		Document document1 = new Document();
		document1.put("name", "张三");
		document1.put("age", 18);
		document1.put("birthday", new Date());
		document1.put("sex", "男");
		Document document2 = new Document();
		document2.put("name", "张三");
		document2.put("age", 18);
		document2.put("birthday", new Date());
		document2.put("sex", "男");
		Document document3 = new Document();
		document3.put("name", "张三");
		document3.put("age", 18);
		document3.put("birthday", new Date());
		document3.put("sex", "男");
		Document document4 = new Document();
		document4.put("name", "张三");
		document4.put("age", 18);
		document4.put("birthday", new Date());
		document4.put("sex", "男");
		List<Document>list=new ArrayList<>();
		list.add(document1);
		list.add(document2);
		list.add(document3);
		list.add(document4);
		collection.insertMany(list);
		mc.close();
	}
}

从所写的代码中看,新增的方法有两种:第一种是添加单条数据的:insertOne(),第二种是可以一次性添加多条数据的:insertMany()。

第一种:Java操作mongodb的基本操作

第二种: 5条=1+4 

Java操作mongodb的基本操作

删除:

package com.ape.delete;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult;


public class deleteDemo {
	public static void main(String[] args) {
		MongoClient mc=new MongoClient("localhost",27017);
		MongoDatabase database = mc.getDatabase("myschool");
		MongoCollection<Document> collection = database.getCollection("student");
		
		DeleteResult deleteOne = collection.deleteOne(new Document("name","张三"));
		System.out.println(deleteOne);
		//DeleteResult deleteMany = collection.deleteMany(new Document("name","张三"));
		//System.out.println(deleteMany);
		mc.close();
	}
}

从代码上看只是进行了简单的删除,deleteOne()只进行删除符合条件的第一条,deleteMany()是删除了所有符合条件的语句。

删除一条:

Java操作mongodb的基本操作

 删除查到的所有:5-1=4

Java操作mongodb的基本操作

 带条件的删除

package com.ape.delete;

import org.bson.Document;
import org.bson.conversions.Bson;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.result.DeleteResult;


public class deleteDemo {
	public static void main(String[] args) {
		MongoClient mc=new MongoClient("localhost",27017);
		MongoDatabase database = mc.getDatabase("myschool");
		MongoCollection<Document> collection = database.getCollection("student");
		
		Bson gt = Filters.gt("age", 100);
//		Bson exists = Filters.exists("age");//存在年龄的
//		Bson exists = Filters.exists("age", false);//不存在年龄的
		DeleteResult deleteOne = collection.deleteOne(gt);
		System.out.println(deleteOne);
//		DeleteResult deleteMany = collection.deleteMany(exists);
//		System.out.println(deleteMany);
		
		mc.close();
	}
}

Java操作mongodb的基本操作

第一句是年龄大于100的删除 

Java操作mongodb的基本操作

 第二句是删除有年龄的人Java操作mongodb的基本操作

 我们添加了5条所以查到了5条,然后通过deleteMany将他全部的删除。

第三局是删除没有年龄的(先执行了第三个,后执行第二个)

Java操作mongodb的基本操作

 我们在添加的时候给每一条数据都有年龄,所以没有查到数据。

建议使用的时候数据要多样化,能够满足条件。

修改

Filters 该过滤器类为所有的MongoDB的查询操作静态工厂方法。每个方法返回BSON类型,又可以传递给期 望一个查询过滤器的任何方法的一个实例。

Java操作mongodb的基本操作

修改条件

Java操作mongodb的基本操作

package com.ape.update;

import org.bson.Document;
import org.bson.conversions.Bson;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.UpdateOptions;
import com.mongodb.client.result.UpdateResult;

public class updateDemo {
	public static void main(String[] args) {
		MongoClient mc=new MongoClient("localhost",27017);
		MongoDatabase database = mc.getDatabase("myschool");
		MongoCollection<Document> collection = database.getCollection("student");
		//修改条件
//		Bson eq = Filters.eq("name","张三");
//		UpdateResult updateOne = collection.updateOne(eq, new Document("$set",new Document("age",20)));
//		System.out.println(updateOne);
//		UpdateResult updateMany = collection.updateMany(eq, new Document("$set",new Document("age",20)));
//		System.out.println(updateMany);
		
		//修改添加
//		Bson eq = Filters.eq("name","haha");
//		UpdateResult updateOne = collection.updateOne(eq, 
//				new Document("$set",new Document("age",16)),
//				new UpdateOptions().upsert(true));
//		System.out.println(updateOne);
		//matchedCount=0, modifiedCount=0, 查到0个,修改0个
		//upsertedId=BsonObjectId{value=631fe6a20a395b2479cd6205
		
		
		//多条件
		Bson lte = Filters.lte("age", 30);
		Bson gte = Filters.gte("age", 10);
		
		Bson and = Filters.and(gte,lte);
		UpdateResult updateMany = collection.updateMany(and, new Document("$set",new Document("sex","保密")));
		System.out.println(updateMany);
		//有的改不了的是类型的问题不是int型,是String
		
		
		//对年龄增加100
//		UpdateResult updateMany = collection.updateMany(and, new Document("$inc",new Document("age",5)));
		mc.close();
	}
}

updateOne()是修改一条,updateMany()是修改多条。

修改的条件是name位张三的。

第一条updateOne:age由18变为20

Java操作mongodb的基本操作

 第二条updateMany:

Java操作mongodb的基本操作

Java操作mongodb的基本操作 共有19条其中有16条的age!=20,讲着16条全变为20。

修改并添加

Java操作mongodb的基本操作

Java操作mongodb的基本操作

 查到0个,修改为0个,但是有修改id。加上这句:

Java操作mongodb的基本操作

就会在没有的时候去新增一条。 

Java操作mongodb的基本操作

 多条件修改:

Java操作mongodb的基本操作

小于30且大于10的都进行修改,性别改为保密。

 原数据Java操作mongodb的基本操作Java操作mongodb的基本操作

 修改后

 Java操作mongodb的基本操作

查询

普通查询

package com.ape.select;

import java.util.ArrayList;

import org.bson.Document;

import com.ape.bean.Student;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;

public class demo {
	public static void main(String[] args) {
		MongoClient mc=new MongoClient("localhost",27017);
		MongoDatabase database = mc.getDatabase("myschool");
		MongoCollection<Document> collection = database.getCollection("student");
		FindIterable<Document> find = collection.find();
		for (Document document : find) {
			System.out.println(document);
		}
		mc.close();
	}
}

Java操作mongodb的基本操作

条件查询

Java操作mongodb的基本操作

多条件查询

 Java操作mongodb的基本操作

模糊查询:

Java操作mongodb的基本操作

查询除来的结果有两种的显示方式:

第一种是代码中所使用的增强 for循环。

第二种是使用迭代器的方式。文章来源地址https://www.toymoban.com/news/detail-405745.html

到了这里,关于Java操作mongodb的基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • redis数据库和MongoDB数据库基本操作

    (1) 设置键值 (2) 读取键值 (3) 数值类型自增1 (4) 数值类型自减1 (5) 查看值的长度 (1)对列表city插入元素:Shanghai Suzhou Hangzhou (2)将列表city里的头部的元素移除 (3) 对一个已存在的列表插入新元素 (4)查看list的值长度 (1) 设置一个hash表,order表里包括的

    2024年02月16日
    浏览(61)
  • 数据库操作入门:PyMongo 和 MongoDB 的基本用法

    MongoDB是一种流行的NoSQL数据库,它将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展 Python需要一个MongoDB驱动程序来访问MongoDB数据库。在本教程中,我们将使用MongoDB驱动程序 \\\"PyMongo\\\"。建议使用PIP来安装 \\\"PyMongo\\\",确保您的Python环境已安装PIP。 在命令行中导航到PIP的

    2024年02月05日
    浏览(67)
  • 分布式数据库NoSQL(二)——MongoDB 数据库基本操作

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的

    2024年02月06日
    浏览(49)
  • 【100天精通python】Day19:文件及目录操作_基本文件操作

    目录 专栏导读  1 文件的创建打开和关闭 2.1 使用内置函数open(),close()创建打开和关闭

    2024年02月14日
    浏览(53)
  • 2-Linux 目录介绍及基本指令和操作命令

    一、目录介绍 /:表示的是根的意思 /bin:(binary)存放的是一些二进制文件,但是在Linux中二进制文件是可以被执行的。这个目录中的命令文件是给普通用户使用(非超级管理员用户)。 /etc:Linux下所有的配置文件都会存放到etc目录。 /home:是所有非root用户家目录的一个集

    2024年02月08日
    浏览(46)
  • 【100天精通python】Day19:python文件及目录操作_基本文件操作

    目录 专栏导读  1 文件的创建打开和关闭 2.1 使用内置函数open(),close()创建打开和关闭

    2024年02月15日
    浏览(41)
  • 通过postgresql的Ltree字段类型实现目录结构的基本操作

    将这种具有目录结构的excel表存储到数据库中,可以采用树型结构存储 上面是建一张表,并且插入一条根节点。这里我们的id是mybatisPuls提供的UUID,并且我们的path字段采用祖id+爷id+父id+子id的结构。这是处理excel表格的工具类 下面是将生成的ListMapString, String excel数据插入到e

    2024年02月12日
    浏览(38)
  • MongoDB实验——在Java应用程序中操作 MongoDB 数据

    1. 启动MongoDB Shell 2. 切换到admin数据库,使用root账户 3.开启Eclipse,创建Java Project项目,命名为MongoJava File -- New -- Java Project 4.在MongoJava项目下新建包,包名为mongo MongoJava右键 -- New -- mongo 5. 在mongo包下新建类,类名为mimalianjie mongo右键 -- New -- Class 6. 添加项目依赖的jar包,右键单

    2024年02月10日
    浏览(35)
  • Java中使用MongoTemplate 简单操作MongoDB

    @Autowired private MongoTemplate mongoTemplate;   User:封装的对象 插入:mongoTemplate.insert(user); 根据id查询:mongoTemplate.findById(id, User.class); 查询所有:mongoTemplate.findAll(User.class); 条件查询: 模糊查询: 分页查询: 修改: 删除:

    2024年02月11日
    浏览(34)
  • Java地图专题课 基本API BMapGLLib 地图找房案例 MongoDB

    本课程基于百度地图技术,由基础入门开始到应用实战,适合零基础入门学习。将企业项目中地图相关常见应用场景的落地实战,包括有地图找房、轻骑小程序、金运物流等。同时讲了基于Netty实现高性能的web服务,来处理高并发的问题。还讲解了海量坐标数据处理解决方案

    2024年02月13日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包