zoukankan      html  css  js  c++  java
  • MongoDB和Java-PHP

    一、java操作mongoDB

    配置环境:

    1、下mongodb JDBC驱动mongo-java-driver-3.2.2.jar,并包含在classpath中

    步骤:

    1、连接数据库

    1 // 连接到 mongodb 服务
    2 MongoClient mongoClient = new MongoClient( "localhost" , 27017 );      
    3 // 连接到数据库
    4 MongoDatabase mongoDatabase =mongoClient.getDatabase("mycol");

    2、如果需要验证用户名和密码,则

     1 //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址  
     2 //ServerAddress()两个参数分别为 服务器地址 和 端口  
     3 ServerAddress serverAddress = new ServerAddress("localhost",27017);  
     4 List<ServerAddress> addrs = new ArrayList<ServerAddress>();  
     5 addrs.add(serverAddress);                
     6 //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码  
     7 MongoCredential credential =MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());  
     8 List<MongoCredential> credentials = new ArrayList<MongoCredential>();  credentials.add(credential);  
     9 //通过连接认证获取MongoDB连接  
    10 MongoClient mongoClient = new MongoClient(addrs,credentials);  
    11 //连接到数据库  
    12 MongoDatabase mongoDatabase =mongoClient.getDatabase("databaseName"); 

    3、操作数据库

    创建集合

     mongoDatabase.createCollection("test");

    获取集合

     MongoCollection<Document> collection = mongoDatabase.getCollection("test");

    插入文档

    1 Document document = new Document("title", "MongoDB").  
    2 append("description", "database").  
    3 append("likes", 100).  
    4 append("by", "Fly");  
    5 List<Document> documents = new ArrayList<Document>();  
    6 documents.add(document);  
    7 collection.insertMany(documents); 

    获取文档

    1 FindIterable<Document> findIterable = collection.find();  //获取迭代器
    2 MongoCursor<Document> mongoCursor = findIterable.iterator();  //获取游标
    3 while(mongoCursor.hasNext()){  
    4        System.out.println(mongoCursor.next());  
    5 }  

    更新文档

    1 //更新文档   将文档中likes=100的文档修改为likes=200   
    2 collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));  

    删除文档

    1 //删除符合条件的第一个文档  
    2 collection.deleteOne(Filters.eq("likes", 200));  
    3 //删除所有符合条件的文档  
    4 collection.deleteMany (Filters.eq("likes", 200));  
  • 相关阅读:
    ES6笔记(二):对象简写
    python通过protobuf实现rpc
    Python之mmap内存映射模块(大文本处理)说明
    python 基于Avro实现RPC
    python 使用 thrift 教程
    软光栅(BlinnPhong 模型,无贴图)(Python)
    递归绘制贝塞尔曲线
    计算机网络核心概览
    BlinnPhong 光照模型 Demo (Python)
    博客园图片批量自动上传
  • 原文地址:https://www.cnblogs.com/wangwanchao/p/5451228.html
Copyright © 2011-2022 走看看