• Mongo DB Java操作


    1、首先下载Mongo DB java 驱动

    2、操作Mongo 增删改查

    package com.sjjy.mongo;

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

    import org.bson.Document;

    import com.mongodb.MongoClient;
    import com.mongodb.client.FindIterable;
    import com.mongodb.client.MongoCollection;
    import com.mongodb.client.MongoCursor;
    import com.mongodb.client.MongoDatabase;
    import com.mongodb.client.model.Filters;

    public class MongoTest {

    public static void main(String[] args) {

    try{

    //连接到Mongo服务
    MongoClient mongoClient = new MongoClient("localhost", 27017);
    //连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("cf_sjjy_mongo");

    System.out.println("Connect to database successfully");
    mongoDatabase.createCollection("test");
    System.out.println("集合创建成功");

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

    //插入文档
    /**
    * 1. 创建文档 org.bson.Document 参数为key-value的格式
    * 2. 创建文档集合List<Document>
    * 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document)
    * */
    Document document = new Document("title", "MongoDB").
    append("description", "database").
    append("likes", 100).
    append("by", "Fly");
    List<Document> documents = new ArrayList<Document>();
    documents.add(document);
    collection.insertMany(documents);
    System.out.println("文档插入成功");

    //检索所有文档
    /**
    * 1. 获取迭代器FindIterable<Document>
    * 2. 获取游标MongoCursor<Document>
    * 3. 通过游标遍历检索出的文档集合
    * */
    FindIterable<Document> findIterable = collection.find();
    MongoCursor<Document> mongoCursor = findIterable.iterator();
    while(mongoCursor.hasNext()){
    //获取文档对象
    System.out.println(mongoCursor.next());
    //获取文档对象里面的一个属性值
    System.out.println(mongoCursor.next().get("likes"));
    }


    //更新文档 将文档中likes=100的文档修改为likes=200
    collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));
    //检索查看结果
     FindIterable<Document> findIterable = collection.find();
    MongoCursor<Document> mongoCursor = findIterable.iterator();
    while(mongoCursor.hasNext()){
    System.out.println(mongoCursor.next());



    //删除符合条件的第一个文档
    collection.deleteOne(Filters.eq("likes", 100));
    //删除所有符合条件的文档
    collection.deleteMany (Filters.eq("likes", 200));
    //检索查看结果
    FindIterable<Document> findIterable = collection.find();
    MongoCursor<Document> mongoCursor = findIterable.iterator();
    while(mongoCursor.hasNext()){
    System.out.println(mongoCursor.next() + " wenhy");
    }


    }catch (Exception e) {

    System.out.println(e.getClass().getName() + " : " + e.getMessage());

    }
    }

    }

    更多操作可以参考:http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/quick-tour/

  • 相关阅读:
    寒假学习日报29
    寒假学习日报28
    保证多个线程顺序执行
    switchHost本地映射
    Redis 淘汰策略解读
    再过半小时,你就能明白kafka的工作原理了
    Zookeeper用来做什么的,有几种类型的节点
    类加载过程
    REDIS缓存穿透,缓存击穿,缓存雪崩原因+解决方案
    数据库的锁机制及原理
  • 原文地址:https://www.cnblogs.com/wenhongyu/p/7576044.html
Copyright © 2020-2023  润新知