Java MongoDB基本操作

1、安装 MongoDB JDBC驱动程序

<dependencies>
    <dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>3.0.4</version>
    </dependency>
</dependencies>

2、连接数据库(工具类)

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;	 
//mongodb 连接数据库工具类

public class MongoDBUtil {
    //不通过认证获取连接数据库对象
    public static MongoDatabase getConnect(){
        //连接到 mongodb 服务
        MongoClient mongoClient = new MongoClient("localhost", 27017);
 
        //连接到数据库
        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
 
        //返回连接数据库对象
        return mongoDatabase;
    }
 
    //需要密码认证方式连接
    public static MongoDatabase getConnect2(){
        List<ServerAddress> adds = new ArrayList<>();
        //ServerAddress()两个参数分别为 服务器地址 和 端口
        ServerAddress serverAddress = new ServerAddress("localhost", 27017);
        adds.add(serverAddress);
        
        List<MongoCredential> credentials = new ArrayList<>();
        //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
        MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());
        credentials.add(mongoCredential);
        
        //通过连接认证获取MongoDB连接
        MongoClient mongoClient = new MongoClient(adds, credentials);
 
        //连接到数据库
        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
 
        //返回连接数据库对象
        return mongoDatabase;
    }
}

3、对数据库进行CRUD

1)获取集合

MongoCollection<Document> collection = MongoDBUtil.getConnect().getCollection("user");

2)创建文档

 //单个文档
Document document = new Document("name","张三")
	.append("sex", "男")
	.append("age", 18);
	
//文档集合
 List<Document> list = new ArrayList<>();
    for(int i = 1; i <= 3; i++) {
        Document document = new Document("name", "张三")
                .append("sex", "男")
                .append("age", 18);
        list.add(document);
    }
    
//文档作为筛选条件  $gt
 Document query = new Document();
 query.put("number", new Document("$gt", 9));
 //文档作为更新对象   set操作符
 Document updateBson = new Document("$set", new Document("age", 25));

3)增

collection.insertOne(document);
collection.insertMany(list);

4)删

collection.deleteOne(document);
collection.deleteMany(document);

5)改

6)查

7)遍历查询结果

    //查询所有文档
    FindIterable<Document> allDocuments = userCollection.find();  
    //获取迭代器 
    MongoCursor<Document> iterator = allDocuments.iterator();
    while (iterator.hasNext())
    {
        Document document = iterator.next();
        System.out.println(document);
    }

8)Bson 条件

 //90<=a<=95
 Bson delBson = Filters.and(Filters.gte("age", 90), Filters.lte("age", 95));
  // a<10或a>80
  Bson delBson2 = Filters.or(Filters.lt("age", 10), Filters.gt("age", 80));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值