前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java操作MongoDB

Java操作MongoDB

作者头像
名字是乱打的
发布2022-05-13 11:19:02
6870
发布2022-05-13 11:19:02
举报
文章被收录于专栏:软件工程

Java操作MongoDB 入门

mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。 我们通过一个入门的案例来了解mongodb-driver的基本使用

传统查询

查询全部记录

(1)创建工程 mongoDemo, 引入依赖
代码语言:javascript
复制
<dependencies>
 <dependency>
 <groupId>org.mongodb</groupId> 
<artifactId>mongodb‐driver</artifactId>
 <version>3.6.3</version>
 </dependency> 
</dependencies>
(2)创建测试类
代码语言:javascript
复制
/*** MongoDb入门小demo */
public class MongoDemo { 
public static void main(String[] args) {
  MongoClient client=new MongoClient("192.168.184.134");//创建连接 
  MongoDatabase spitdb = client.getDatabase("spitdb");//打开数据库 
  MongoCollection<Document> spit = spitdb.getCollection("spit");// 获取集合 
  FindIterable<Document> documents = spit.find();//查询记录获取文档集 合 
  for(Document document:documents){ 
      System.out.println("内容:"+ document.getString("content")); 
      System.out.println("用户ID:"+document.getString("userid")); 
      System.out.println("浏览量:"+document.getInteger("visits")); 
}

client.close();//关闭连接
} 
}

条件查询

BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key- value的数据结构,用起来和HashMap是基本一致的。

(1)查询userid为1013的记录
代码语言:javascript
复制
public class MongoDemo1 {
    public static void main(String[] args) {
        MongoClient client = new MongoClient("192.168.184.134");//创建连接 
        MongoDatabase spitdb = client.getDatabase("spitdb");//打开数据库
        MongoCollection<Document> spit = spitdb.getCollection("spit");// 获取集合 
        BasicDBObject bson = new BasicDBObject("userid", "1013");// 构建查询 条件 
        FindIterable<Document> documents = spit.find(bson);//查询记录获取结 果集合
        for (Document document : documents) {
            System.out.println("内容:" + document.getString("content"));
            System.out.println("用户ID:" + document.getString("userid"));
            System.out.println("浏览量:" + document.getInteger("visits"));
        }
        client.close();//关闭连接
    }
}  }  }
(2)查询浏览量大于1000的记录
代码语言:javascript
复制
public class MongoDemo2 {
    public static void main(String[] args) {
        MongoClient client = new MongoClient("192.168.184.134");//创建连接 
        
        MongoDatabase spitdb = client.getDatabase("spitdb");//打开数据库 
        
        MongoCollection<Document> spit = spitdb.getCollection("spit");// 获取集合
        
        BasicDBObject bson = new BasicDBObject("visits", new BasicDBObject("$gt", 1000));
      // 构建查询条件 等同于find({visits:{$gt:1000}})      
        FindIterable<Document> documents = spit.find(bson);//查询记录获取结果集合 
        
        for (Document document : documents) { // System.out.println("内容:"+ document.getString("content"));
           System.out.println("用户ID:"+document.getString("userid"));
           System.out.println("浏览量:"+document.getInteger("visits"));
        
        }
        
        client.close();//关闭连接 
    
    }
}
(3) 插入数据
代码语言:javascript
复制
public class MongoDemo3 {
 public static void main(String[] args) { 
       MongoClient client=new MongoClient("192.168.184.134");//创建连接
       MongoDatabase spitdb = client.getDatabase("spitdb");//打开数据库     
       MongoCollection<Document> spit = spitdb.getCollection("spit");// 得到集合(类似于数据的表)   
       Map<String,Object> map=new HashMap(); map.put("content","我要吐槽"); 
          map.put("userid","9999"); 
          map.put("visits",123); 
          map.put("publishtime",new Date()); 
      Document document=new Document(map); 
      //MongoDB插入的文档里有个构造函数可以传一个map构成一个Doucument
      spit.insertOne(document);//插入数据
      client.close();
 }
 }

SpringDataMongoDB SpringDataJps操作MongoDB

SpringDataMongoDB SpringData家族成员之一,用于操作MongoDb的持久层框架,封装了底层的mongodb- driver。

简单操作,不包含全部操作和全部代码,如果有想更深入了解的可以私信问我 (1)pom.xml引入依赖

代码语言:javascript
复制
<dependency>
 <groupId>org.springframework.boot</groupId> 
<artifactId>spring‐boot‐starter‐data‐mongodb</artifactId>
 </dependency> 
<dependency>
 <groupId>com.tensquare</groupId>
 <artifactId>tensquare_common</artifactId> 
<version>1.0‐SNAPSHOT</version> 
</dependency>

(2)创建application.yml

代码语言:javascript
复制
server: port: 9006 
spring: 
  application:
     name: tensquare‐spit #指定服务名
  data:
     mongodb: 
        host: 192.168.184.134
        database: spitdb
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java操作MongoDB 入门
  • 传统查询
    • 查询全部记录
      • 条件查询
      • SpringDataMongoDB SpringDataJps操作MongoDB
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档