mongodb学习总结(二)

public class App {
  /**
  * 无密码连接mongodb服务
  */
  public void connectToMongoNoPasswd() throws Exception{
    //连接到 mongodb 服务
    MongoClient mongoClient = new MongoClient( "192.168.1.5" , 27017 );
    //连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
  }

  /**
  * 设置密码连接mongodb服务
  */
  public void connectToMongoByPasswd() throws Exception{
    //ServerAddress()两个参数分别为 服务器地址 和 端口
    ServerAddress serverAddress = new ServerAddress("192.168.1.5",27017);
    List<ServerAddress> addrs = new ArrayList<ServerAddress>();
    addrs.add(serverAddress);
    //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码     
    MongoCredential credential = MongoCredential.createScramSha1Credential("username",
                   "databaseName", "password".toCharArray());
    List<MongoCredential> credentials = new ArrayList<MongoCredential>();
    credentials.add(credential);
    //通过连接认证获取MongoDB连接
    MongoClient mongoClient = new MongoClient(addrs,credentials);
    //连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");
    System.out.println("Connect to database successfully");
  }

  /**
  * 创建集合
  */
  public void createCol() throws Exception{
    // 连接到 mongodb 服务
    MongoClient mongoClient = new MongoClient( "192.168.1.5" , 27017 );
    // 连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    mongoDatabase.createCollection("test");
    System.out.println("集合创建成功");
  }

  /**
  * 获取集合
  */
  public void getCol() throws Exception{
    //连接到 mongodb服务
    MongoClient mongoClient = new MongoClient( "192.168.1.5" , 27017 );
    //连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 选择成功");
  }

  

  /**
  * 插入文档
  */
  public void addDoc() throws Exception{
    // 连接到 mongodb 服务
    MongoClient mongoClient = new MongoClient("192.168.1.5", 27017 );
    // 连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    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", "mongo")
        .append("description", "database")
        .append("likes", 100)
        .append("by", "Fly");
    List<Document> documents = new ArrayList<Document>();
    documents.add(document);
    collection.insertMany(documents);
    System.out.println("文档插入成功");
  }

  /**
  * 检索所有文档
  */
  public void findDoc() throws Exception{
    //连接到 mongodb服务
    MongoClient mongoClient = new MongoClient( "192.168.1.5" , 27017 );
    // 连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 选择成功");
    //检索所有文档
    /**
    *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());
    }
  }

  /**
  * 更新文档
  */
  public void updateDoc() throws Exception{
    //连接到 mongodb服务
    MongoClient mongoClient = new MongoClient("192.168.1.5", 27017);
    //连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 选择成功");
    //更新文档 将文档中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());
    }
  }

  /**
  * 删除文档
  */
  public void delDoc() throws Exception{
    //连接到 mongodb 服务
    MongoClient mongoClient = new MongoClient("192.168.1.5", 27017);
    //连接到数据库
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 选择成功");
    //删除符合条件的第一个文档
    collection.deleteOne(Filters.eq("likes", 200));
    //删除所有符合条件的文档
    collection.deleteMany(Filters.eq("likes", 200));
    //检索查看结果
    FindIterable<Document> findIterable = collection.find();
    MongoCursor<Document> mongoCursor = findIterable.iterator();
    while(mongoCursor.hasNext()){
      System.out.println(mongoCursor.next());
    }
  }

  public static void main( String[] args ) {
    try {
      App app = new App();
      app.delDoc();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

 

参考:http://www.runoob.com/mongodb/mongodb-tutorial.html

posted @ 2016-07-16 12:27  万首real  阅读(4870)  评论(0编辑  收藏  举报