MongoDB 三:使用 java-api进行简单的增查改删

使用 java-api进行简单的增查改删

新建 Maven 工程

本文使用的时 IDAEA 来进行编程
建立的工程是 maven-quickstart

添加依赖

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

代码实现

注意:此处的 MongoDB 已经设置了账户密码

package nj.zb.mongtest;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;
import org.bson.conversions.Bson;
import org.bson.types.ObjectId;

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

/**
 * @author: 03-CJH
 * @date:2020/6/11
 * @desc:
 */
public class MongoDemo {
    public static void main(String[] args){
    
        ServerAddress serverAddress = new ServerAddress("192.168.48.141", 27017);
        List<ServerAddress> addresses = new ArrayList<>();
        addresses.add(serverAddress);
        MongoCredential mongoCredential =
                MongoCredential.createScramSha1Credential("test","test","test".toCharArray());
        List<MongoCredential> credentials = new ArrayList<>();
        credentials.add(mongoCredential);

        MongoClient mongoClient = new MongoClient(addresses,credentials);
        MongoDatabase testdb = mongoClient.getDatabase("test");
        System.out.println(testdb);

        #创建表
        testdb.createCollection("tb1");
        MongoCollection<Document> studentTB = testdb.getCollection("student");
        
        #插入数据
        List<Document> docs = new ArrayList<>();
        Document doc1 = new Document();
        doc1.append("id",1).append("name","zs").append("age",21).append("gender","男");
        docs.add(doc1);
        Document doc2 = new Document();
        doc2.append("id",1).append("name","ls").append("age",21).append("gender","男");
        docs.add(doc2);
        Document doc3 = new Document();
        doc3.append("id",1).append("name","ww").append("age",21).append("gender","男");
        docs.add(doc3);
        studentTB.insertMany(docs);

        #查询全部
        FindIterable<Document> stus = studentTB.find();
        for (Document stu : stus) {
            System.out.println(stu.toJson());
        }
        
        #多条件查询
        Bson stuName = Filters.eq("name", "zs");
        Bson stuGender = Filters.eq("gender", "女");
        Bson and = Filters.or(stuName, stuGender);  //and  or
        FindIterable<Document> stus = studentTB.find(and);
        for (Document stu : stus) {
            System.out.println(stu.toJson());
        }

        #更新数据
        Bson id = Filters.eq("id", 1);
        Document document = new Document("$set",new Document("age", 25));
        studentTB.updateOne(id,document);

        #删除
        ObjectId objectId = new ObjectId("5ee1b21033c2f41694d47ac6");
        Bson id = Filters.eq("_id", objectId);
        studentTB.deleteOne(id);

        #多条件删除
        Bson age = Filters.gte("age", 21);
        Bson age1 = Filters.lte("age", 23);
        Bson and = Filters.and(age, age1);
        studentTB.deleteMany(and);

        System.out.println("successful");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值