1、实际应用过程中肯定不会直接通过Linux的方式来连接和使用数据库,而是通过其他驱动的方式来使用mongoDB

2、本教程只针对于Java来做操作,主要是模拟mongoDB数据库在开发过程中的应用

3、在官网下载对应的jar包,来做mongoDB的驱动支持,当然也可以利用pom. 文件自己下载

  jar下载地址:https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.4.2/

  这个是3.4.2版本的,有需要可以下载其他版本

  

也可以在pom. 文件中加入

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

4、连接数据库,连接数据库的方式有两种。一种是没有用户名密码,另外一种是有的

  1)没有密码

  public static void main(String[] args) {        try{            // 连接到 mongodb 服务            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );            // 连接到数据库            MongoData  mongoData  = mongoClient.getData ("test");              System.out.println("Connect to data  successfully");                        }catch(Exception e){            System.err.println( e.getClass().getName() + ": " + e.getMessage() );        }              }

  2)有密码

  public static void main(String[] args) {        try {              //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址              //ServerAddress()两个参数分别为 服务器地址 和 端口              ServerAddress serverAddress = new ServerAddress("localhost",27017);              List<ServerAddress> addrs = new ArrayList<ServerAddress>();              addrs.add(serverAddress);                            //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码              MongoCredential credential = MongoCredential.createScramSha1Credential("username", "data Name", "password".toCharArray());              List<MongoCredential> credentials = new ArrayList<MongoCredential>();              credentials.add(credential);                            //通过连接认证获取MongoDB连接              MongoClient mongoClient = new MongoClient(addrs,credentials);                            //连接到数据库              MongoData  mongoData  = mongoClient.getData ("data Name");              System.out.println("Connect to data  successfully");          } catch (Exception e) {              System.err.println( e.getClass().getName() + ": " + e.getMessage() );          }      }

5、创建集合

    public static void main(String[] args) {        try{               // 连接到 mongodb 服务            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );             // 连接到数据库            MongoData  mongoData  = mongoClient.getData ("test");              System.out.println("Connect to data  successfully");            mongoData .createCollection("test");            System.out.println("集合创建成功");                }catch(Exception e){            System.err.println( e.getClass().getName() + ": " + e.getMessage() );        }    }

6、获取集合

    public static void main(String[] args) {        try{               // 连接到 mongodb 服务            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );            // 连接到数据库            MongoData  mongoData  = mongoClient.getData ("test");              System.out.println("Connect to data  successfully");            MongoCollection<Document> collection = mongoData .getCollection("test");            System.out.println("集合 test 选择成功");        }catch(Exception e){            System.err.println( e.getClass().getName() + ": " + e.getMessage() );        }    }

7、插入文档(BSON格式)

    public static void main(String[] args) {        try{               MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务            MongoData  mongoData  = mongoClient.getData ("test");  // 连接到数据库            System.out.println("Connect to data  successfully");            MongoCollection<Document> collection = mongoData .getCollection("test"); //获取集合            System.out.println("集合 test 选择成功");             Document document = new Document(" ", "MongoDB").append("de ion", "data ").append("likes", 100);  //新建文档            List<Document> documents = new ArrayList<Document>();              documents.add(document);              collection.insertMany(documents);  //添加文档(对应的BSON数据)            System.out.println("文档插入成功");          }catch(Exception e){            System.err.println( e.getClass().getName() + ": " + e.getMessage() );        }    }

8、检索文档,查找对用数据

public static void main(String[] args) {    try{           MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务        MongoData  mongoData  = mongoClient.getData ("test");  // 连接到数据库        System.out.println("Connect to data  successfully");        MongoCollection<Document> collection = mongoData .getCollection("test"); //获取集合        System.out.println("集合 test 选择成功");         FindIterable<Document> findIterable = collection.find();  //获取迭代器        MongoCursor<Document> mongoCursor = findIterable.iterator();  //获取游标        while(mongoCursor.hasNext()){  //循环获取数据        System.out.println(mongoCursor.next());      }      }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );    }}

9、更新文档数据

public static void main( String args[] ){    try{           MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务        MongoData  mongoData  = mongoClient.getData ("mycol");  // 连接到数据库        System.out.println("Connect to data  successfully");        MongoCollection<Document> collection = mongoData .getCollection("test");        System.out.println("集合 test 选择成功");        collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));  //更新文档 将文档中likes=100的文档修改为likes=200           FindIterable<Document> findIterable = collection.find();  //检索查看结果        MongoCursor<Document> mongoCursor = findIterable.iterator();          while(mongoCursor.hasNext()){              System.out.println(mongoCursor.next());          }      }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );    }}

10、删除文档

public static void main( String args[] ){    try{           MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  // 连接到 mongodb 服务        MongoData  mongoData  = mongoClient.getData ("test");  // 连接到数据库        System.out.println("Connect to data  successfully");        MongoCollection<Document> collection = mongoData .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());          }      }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );    }}

11、基本的操作就是这样,在实际应用过程中,可以通过一定的数据格式要求来做一些修改和添加,数据的应用可以通过Document来具体获取获取进行处理

12、为了方便数据库的管理和学习也可以参考其他的学习方法,来实现对应的结果

13、推荐一个学习mongoDB的网站,适合新手!老鸟略过。。。

  网址:http://www.runoob.com/mongodb/mongodb-tutorial.html

 

收藏 打印