Java中使用MongoDB

public class MongoDBJDBC {
    public static void main(String[] args) {
        //连接到MongoDB服务
        MongoClient mongoClient = new MongoClient("localhost",27017);
        //连接到数据库
        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
        System.out.println(mongoDatabase);
        System.out.println("数据库连接成功-----------------------------------");

        //创建集合
        mongoDatabase.createCollection("javaCol");
        System.out.println("javaCol集合创建成功------------------------------");

        //选择集合
        MongoCollection<Document> collection = mongoDatabase.getCollection("javaCol");
        System.out.println("javaCol集合选择成功----------------------------------");

        //插入文档
        Document document = new Document("title","MongoDB Java").
        append("description","正在学习Java中使用MongoDB").
        append("by","hedanning").
        append("likes","666");
        collection.insertOne(document);
        System.out.println("插入单个文档-----------------------------------------");

        //批量插入文档
        Document document1 = new Document("title","MongoDB Java").
        append("description","正在学习Java中使用MongoDB_1").
        append("by","hedanning").
        append("likes","88");
        Document document2 = new Document("title","MongoDB Java").
        append("description","正在学习Java中使用MongoDB_2").
        append("by","hedanning").
        append("likes","999");
        List<Document> documents = new ArrayList<Document>();
        documents.add(document1);
        documents.add(document2);
        collection.insertMany(documents);
        System.out.println("插入批量文档------------------------------------------");

        //检索所有文档
        /*
        * 1.获取迭代器findIterable
        * 2.获取游标mongoCursor
        * 3.通过游标遍历检索出来的文档集合
        * */
        FindIterable<Document> findIterable = collection.find();
        MongoCursor<Document> mongoCursor = findIterable.iterator();
        while(mongoCursor.hasNext()){
            System.out.println(mongoCursor.next());
        }
        System.out.println("检索文档-----------------------------------------------");

        //更新文档(单个)
        collection.updateOne(Filters.eq("likes","666"),new Document("$set",new Document("likes","000")));
        FindIterable<Document> findIterableUpdate = collection.find();
        MongoCursor<Document> mongoCursorUpdate = findIterableUpdate.iterator();
        while(mongoCursorUpdate.hasNext()){
            System.out.println(mongoCursorUpdate.next());
        }
        System.out.println("更新单个文档-------------------------------------------");

        //更新文档(批量)
        collection.updateMany(Filters.gte("likes","88"), new Document("$set",new Document("likes","111")));
        FindIterable<Document> findIterableBatchUpdate = collection.find();
        MongoCursor<Document> mongoCursorBatchUpdate = findIterableBatchUpdate.iterator();
        while(mongoCursorBatchUpdate.hasNext()){
            System.out.println(mongoCursorBatchUpdate.next());
        }
        System.out.println("更新多个文档-------------------------------------------");

        //删除文档(删除符合条件的第一个文档)
        collection.deleteOne(Filters.eq("likes","111"));
        FindIterable<Document> findIterableDelete = collection.find();
        MongoCursor<Document> mongoCursorDelete = findIterableDelete.iterator();
        while(mongoCursorDelete.hasNext()){
            System.out.println(mongoCursorDelete.next());
        }
        System.out.println("删除符合条件的第一个文档---------------------------------");

        //删除文档(删除符合条件的所有文档)
        collection.deleteMany(Filters.eq("likes","000"));
        FindIterable<Document> findIterableBatchDelete = collection.find();
        MongoCursor<Document> mongoCursorBatchDelete = findIterableBatchDelete.iterator();
        while(mongoCursorBatchDelete.hasNext()){
            System.out.println(mongoCursorBatchDelete.next());
        }
        System.out.println("删除符合条件的所有文档------------------------------------");

        //查看数据库列表
        for (String db:mongoClient.listDatabaseNames()) {
            System.out.println(db);
        }
        System.out.println("查看数据库列表--------------------------");

        //查看某个数据库的集合列表
        for (String col:mongoDatabase.listCollectionNames()) {
            System.out.println(col);
        }
        System.out.println("查询test数据库的集合列表-----------------");


    }
}

以上代码的运行结果如下:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值