MongoDB常用操作命令

本文介绍如何使用Java API操作MongoDB,包括连接数据库、创建集合、增删改查等基本操作,并通过示例代码展示了多条件查询及批量数据处理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MongoDB常用操作命令

Java API操作增删改查

pom.xml 依赖:

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

java代码:

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;

public class MogodbApp {
    public static void main(String[] args) {
        //设置mongoDB数据库库地址和端口
        ServerAddress serverAddress = new ServerAddress("192.168.206.129",27017);
        List<ServerAddress> addrs = new ArrayList<>();
        addrs.add(serverAddress);
        //设置MongoDB 用户和密码
        MongoCredential credential = MongoCredential
                .createScramSha1Credential("gree","test","gree".toCharArray());
        List<MongoCredential> credentials = new ArrayList<>();
        credentials.add(credential);

        MongoClient mongoClient = new MongoClient(addrs,credentials);
        //System.out.println(mongoClient);

        MongoDatabase testDB = mongoClient.getDatabase("test");
        //System.out.println(testDB);

        //创建学生表
//        testDB.createCollection("students");

        //删表
//        testDB.getCollection("students").drop();

        //插入数据
        MongoCollection<Document> students = testDB.getCollection("students");
//        List<Document> list = new ArrayList<>();
//
//        Document doc1 = new Document();
//        doc1.append("id",1).append("name","zhangsan").append("age",21).append("sex","男");
//        list.add(doc1);
//
//        Document doc2 = new Document();
//        doc2.append("id",1).append("name","lisi").append("age",22).append("sex","女");
//        list.add(doc2);
//
//        Document doc3 = new Document();
//        doc3.append("id",1).append("name","wangwu").append("age",23).append("sex","男");
//        list.add(doc3);
//
//        Document doc4 = new Document();
//        doc4.append("id",1).append("name","zhaoliu").append("age",24).append("sex","女");
//        list.add(doc4);
//
//        students.insertMany(list);

        //遍历查看
//        FindIterable<Document> documents = students.find();
//        for(Document doc:documents){
//            System.out.println(doc.toJson());
//        }
//        System.out.println("success");

        //多条件查询
//        Bson eq = Filters.eq("name","lisi");
//        Bson bson1 = Filters.eq("sex","女");
//        Bson bson3 = Filters.gte("age",19);
//        Bson bson2 = Filters.and(eq,bson1,bson3);
//
//        FindIterable<Document> documents = students.find(bson2);
//        for(Document doc:documents){
//            System.out.println(doc.toJson());
//        }

        //更新
//        Bson id = Filters.eq("name","lisi");
//        Document document = new Document("$set", new Document("age", 34));
//        students.updateMany(id,document);

        //删除
//        ObjectId objectId = new ObjectId("5f8012c6dd4a9a3790a99973");
//        Bson bson = Filters.eq("_id",objectId);
//        students.deleteMany(bson);

        //多条一起删除
        Bson gt = Filters.gte("age",21);
        Bson lt = Filters.lte("age",35);
        Bson and = Filters.and(gt,lt);
        students.deleteMany(and);

    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值