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

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

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

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

也可以在pom.xml文件中加入

org.mongodb

mongodb-driver

3.4.2

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

1)没有密码

public static voidmain(String[] args) {try{//连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017);//连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("test");

System.out.println("Connect to database successfully");

}catch(Exception e){

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

}

}

2)有密码

public static voidmain(String[] args) {try{//连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址//ServerAddress()两个参数分别为 服务器地址 和 端口

ServerAddress serverAddress = new ServerAddress("localhost",27017);

List addrs = new ArrayList();

addrs.add(serverAddress);//MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码

MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());

List credentials = new ArrayList();

credentials.add(credential);//通过连接认证获取MongoDB连接

MongoClient mongoClient = newMongoClient(addrs,credentials);//连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");

System.out.println("Connect to database successfully");

}catch(Exception e) {

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

}

}

5、创建集合

public static voidmain(String[] args) {try{//连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017);//连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("test");

System.out.println("Connect to database successfully");

mongoDatabase.createCollection("test");

System.out.println("集合创建成功");

}catch(Exception e){

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

}

}

6、获取集合

public static voidmain(String[] args) {try{//连接到 mongodb 服务

MongoClient mongoClient = new MongoClient( "localhost" , 27017);//连接到数据库

MongoDatabase mongoDatabase = mongoClient.getDatabase("test");

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合 test 选择成功");

}catch(Exception e){

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

}

}

7、插入文档(BSON格式)

public static voidmain(String[] args) {try{

MongoClient mongoClient= new MongoClient( "localhost" , 27017 ); //连接到 mongodb 服务

MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); //连接到数据库

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test"); //获取集合

System.out.println("集合 test 选择成功");

Document document= new Document("title", "MongoDB").append("description", "database").append("likes", 100); //新建文档

List documents = new ArrayList();

documents.add(document);

collection.insertMany(documents);//添加文档(对应的BSON数据)

System.out.println("文档插入成功");

}catch(Exception e){

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

}

}

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

public static voidmain(String[] args) {try{

MongoClient mongoClient= new MongoClient( "localhost" , 27017 ); //连接到 mongodb 服务

MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); //连接到数据库

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test"); //获取集合

System.out.println("集合 test 选择成功");

FindIterable findIterable = collection.find(); //获取迭代器

MongoCursor 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 voidmain( String args[] ){try{

MongoClient mongoClient= new MongoClient( "localhost" , 27017 ); //连接到 mongodb 服务

MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol"); //连接到数据库

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合 test 选择成功");

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

FindIterable findIterable = collection.find(); //检索查看结果

MongoCursor 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 voidmain( String args[] ){try{

MongoClient mongoClient= new MongoClient( "localhost" , 27017 ); //连接到 mongodb 服务

MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); //连接到数据库

System.out.println("Connect to database successfully");

MongoCollection collection = mongoDatabase.getCollection("test");

System.out.println("集合 test 选择成功");

collection.deleteOne(Filters.eq("likes", 200)); //删除符合条件的第一个文档

collection.deleteMany (Filters.eq("likes", 200)); //删除所有符合条件的文档//检索查看结果

FindIterable findIterable =collection.find();

MongoCursor 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的网站,适合新手!老鸟略过。。。

mongodb java 不等于_mongoDB在java上面的应用相关推荐

  1. mongodb的java驱动包_mongodb的java驱动包

    java 中的 JDBC 纯驱动方式连接 Oracle 数据库一.下载数据库厂商提供的驱动程序包 二.将驱动程序包引入工程中,步骤如下 1.选中项目--单击右键--Build ...... 4种类型的 ...

  2. java 双等于 equals_在Java中等于equals vs Arrays.equals

    比较Java中的数组时,以下2条语句之间是否有区别? array1.equals(array2); Arrays.equals(array1, array2); 如果是这样,它们是什么? 看看java ...

  3. java 渐变橡皮擦_java 的画板上面的一个橡皮檫功能

    importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classToolBarextendsJPanel{//工具条Image[]im ...

  4. Java爬虫实践之获取历史上的今天

    概述 我们可以在一些网站上看到一些文字,显示了历史上的今天发生了什么事情.例如CSDN的登录页面: 而我们今天的目标是百度搜索上显示的历史上的今天,如下: (注:图片无法显示) 通过历史上的今天访问查 ...

  5. mongodb的java驱动_MongoDB的java版本驱动

    (1)建立连接 建立一个mongodb的连接,至少应该知道数据库实例的名称(不一定存在.如果不存在,会创建一个新的) 此外,可以指定mongodb import com.mongodb.MongoCl ...

  6. mongodb java 子查询_MongoDB 怎么计算子查询

    MongoDB在某些方面确实比关系型数据库更强 (比如对追加型日志数据的吞吐能力),但结构化计算能力方面较弱.比如:MongoDB不支持子查询,碰到这些复杂的运算就只能先将数据读出后再计算,而用Jav ...

  7. java 连nosql_浅谈 Java 中 MongoDB NoSQL数据库使用指南

    MongoDB是当今非常流行的一款NoSQL数据库,本文介绍如何使用MongoDB的Java驱动来操作MongoDB. 一.引入MongoDB Java Driver包 如果需要操作MongoDB的J ...

  8. 凭借这份Java面试题集,java上传文件夹

    阿里系的lazada一面现场(50min) ①sync的底层实现,锁优化,和lock的对⽐等 ②jvm参数调优详细过程,到为什么这么设置,好处,⼀些gc场景,如何去分析gc⽇志 ③redis数据结构, ...

  9. 5W字高质量java并发系列详解教程(上)-附PDF下载

    文章目录 第一章 java.util.concurrent简介 主要的组件 Executor ExecutorService ScheduledExecutorService Future Count ...

  10. Java语法基础50题训练(上)

    题目1: 有两只老虎,一只体重为180kg,一只体重为200kg,请用程序实现判断两只老虎的体重是否相同. 代码如下: public class OperatorTest {public static ...

最新文章

  1. android 登录组件开发,Android组件化开发路由的设计
  2. 如家快捷酒店和星级酒店的区别
  3. 【数据竞赛】席卷Kaggle的调参神器,NN和树模型通吃!
  4. 完成GitHub个人主页设计,只需要这三步
  5. CodeForces - 1395D Boboniu Chats with Du(贪心)
  6. flutter刷新页面_用Flutter实现58App的首页
  7. .NET Core开发实战(第21课:中间件:掌控请求处理过程的关键)--学习笔记(下)...
  8. jvm 性能_JVM性能魔术
  9. sqlserver2008导出mysql_SQLserver 2008将数据导出到Sql脚本文件的方法
  10. WP7实例篇之土豆搜索器(2)
  11. HALCON 20.11:学习笔记---一维测量(Measuring)
  12. Python——EM(期望极大算法)实战(附详细代码与注解)(二)
  13. 图:活动现场双屏管理系统V3-多线程抽奖版软件,完美升级收工!历时3个月,艰辛坎坷...
  14. 2021年四大流行Android手机自动化测试工具,全在这里了
  15. php 上传文件大小设置,调整PHP上传文件大小限制
  16. html静态网站基于游戏网站设计与实现共计10个页面 (仿地下城与勇士游戏网页)
  17. 解决MySql保存数据java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x91\x87\xE5\x91...‘
  18. typedef和define
  19. 思维导图学习3——思维导图示例
  20. Z-Blog模板安装和使用教程

热门文章

  1. 电商项目的app学习笔记(三)-嵌套路由组件的实现
  2. Oracle密码过期怎么办
  3. Windows查看计算机服务监听的端口号
  4. bigint hive java类型_【干货】Hive常用函数大全
  5. 设某一机器由n个部件组成_干货 | 带你了解!工业机器人知识大全
  6. 怎么用python语法1234_python 基本语法1
  7. linux write函数_韦东山:6000字长文告诉你如何学习嵌入式linux
  8. fastJson、Jackson对象转json串不使用驼峰方法和json转对象
  9. 人工智能原理与方法作业1
  10. c语言循环重新输入Y,大佬们帮帮忙 帮我改改 怎样能在输入Y后 再次进行for循环...