浅谈如何用Java操作MongoDB?

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库。本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。

  文章内容如下:

  第一步:安装MongoDB

  无需太多的繁杂步骤,你只要在MongoDB官方网站查看安装说明,根据自己的操作系统进行选择适应的版本即可。

  第二步:启动MongoDB服务器

  这一步也很简单。运行mongod.exe文件里的bin文件夹(我使用的是Windows OS系统),并启动MongoDB服务器。

  在默认的情况下服务器将启动端口27017,你需要在安装过程中创建将数据存储在/data/db目录里。

  第三步:启动MongoDB shell指令

  你可以通过运行mongo.exe文件来启动MongoBD shell。

  第四步:利用MongoDB创建数据库

  利用MongoDB在MongoDB shell中输入以下内容建立一个名为“company”的数据库。

use company

  记住,除非你在MangoDB里保存了一些东西,否则它不会自动为你保存。

  使用下面的命令帮你查看可用的数据库,它会显示“company”尚未被创建。

show dbs;

  第五步:在MongoDB中保存数据

  使用下面的命令来保存employee 数据代表一个collection,将其命名为employees

employee = {name : "A", no : 1}
db.employees.save(employee)

  通过使用下面的命令来查看collection里的数据。

db.users.find();


  如何使用Java操作MongoDB?

  下面是是一段简单的Java代码,你可以在这里获得mongo-java驱动。很简单,只需要使用下面的代码,重复上面的操作即可。

  1. package com.eviac.blog.mongo;    
  2.     
  3. import java.net.UnknownHostException;    
  4.     
  5. import com.mongodb.BasicDBObject;    
  6. import com.mongodb.DB;    
  7. import com.mongodb.DBCollection;    
  8. import com.mongodb.DBCursor;    
  9. import com.mongodb.Mongo;    
  10. import com.mongodb.MongoException;    
  11.     
  12. public class MongoDBClient {    
  13.     
  14.  public static void main(String[] args) {    
  15.     
  16.   try {    
  17.     
  18.    Mongo mongo = new Mongo("localhost", 27017);    
  19.     
  20.    DB db = mongo.getDB("company");    
  21.     
  22.    DBCollection collection = db.getCollection("employees");    
  23.     
  24.    BasicDBObject employee = new BasicDBObject();    
  25.    employee.put("name", "Hannah");    
  26.    employee.put("no", 2);    
  27.     
  28.    collection.insert(employee);    
  29.     
  30.    BasicDBObject searchEmployee = new BasicDBObject();    
  31.    searchEmployee.put("no", 2);    
  32.     
  33.    DBCursor cursor = collection.find(searchEmployee);    
  34.     
  35.    while (cursor.hasNext()) {    
  36.     System.out.println(cursor.next());    
  37.    }    
  38.     
  39.    System.out.println("The Search Query has Executed!");    
  40.     
  41.   } catch (UnknownHostException e) {    
  42.    e.printStackTrace();    
  43.   } catch (MongoException e) {    
  44.    e.printStackTrace();    
  45.   }    
  46.     
  47.  }    
  48.     
  49. }

  结果如下:

  1. { "_id" : { "$oid" : "4fec74dc907cbe9445fd2d70"} , "name" : "Hannah" , "no" : 2}    
  2. The Search Query has Executed!

  小结:

  随着互联网Web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展也非常迅速。本文浅显的谈及了如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作的问题。如果您是这方面的专家不妨与我们分享下。












====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
3月前
|
NoSQL JavaScript 前端开发
Java访问MongoDB
Java访问MongoDB
53 21
|
3月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过MongoDB Atlas Data Lake或Apache Drill,可以在Java中使用SQL语法查询MongoDB数据。这两种方法都需要适当的配置和依赖库的支持。希望本文提供的示例和说明能够帮助开发者实现这一目标。
89 17
|
4月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
207 9
|
6月前
|
NoSQL Java 数据库连接
MongoDB Java
10月更文挑战第18天
45 3
|
6月前
|
存储 JSON NoSQL
Java 中MongoDB的使用
Java 中MongoDB的使用
37 2
|
7月前
|
NoSQL JavaScript Java
Java Python访问MongoDB
Java Python访问MongoDB
50 4
|
8月前
|
NoSQL Java 关系型数据库
MongoDB保姆级指南(下):无缝集成SpringData框架,一篇最全面的Java接入指南!
前面的两篇文章已经将MongoDB大多数知识进行了阐述,不过其中的所有内容,都基于原生的MongoDB语法在操作。可是,在实际的日常开发过程中,我们并不会直接去接触MongoDB,毕竟MongoDB只能算作是系统内的一个组件,无法仅依靠它来搭建出一整套系统。
381 1
|
19天前
|
NoSQL MongoDB 数据库
数据库数据恢复——MongoDB数据库服务无法启动的数据恢复案例
MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 管理员在未关闭MongoDB服务的情况下拷贝数据库文件。将MongoDB数据库文件拷贝到其他分区后,对MongoDB数据库所在原分区进行了格式化操作。格式化完成后将数据库文件拷回原分区,并重新启动MongoDB服务。发现服务无法启动并报错。
|
1月前
|
存储 NoSQL MongoDB
微服务——MongoDB常用命令1——数据库操作
本节介绍了 MongoDB 中数据库的选择、创建与删除操作。使用 `use 数据库名称` 可选择或创建数据库,若数据库不存在则自动创建。通过 `show dbs` 或 `show databases` 查看所有可访问的数据库,用 `db` 命令查看当前数据库。注意,集合仅在插入数据后才会真正创建。数据库命名需遵循 UTF-8 格式,避免特殊字符,长度不超过 64 字节,且部分名称如 `admin`、`local` 和 `config` 为系统保留。删除数据库可通过 `db.dropDatabase()` 实现,主要用于移除已持久化的数据库。
75 0
|
1月前
|
存储 NoSQL MongoDB
从 MongoDB 到 时序数据库 TDengine,沃太能源实现 18 倍写入性能提升
沃太能源是国内领先储能设备生产厂商,数十万储能终端遍布世界各地。此前使用 MongoDB 存储时序数据,但随着设备测点增加,MongoDB 在存储效率、写入性能、查询性能等方面暴露出短板。经过对比,沃太能源选择了专业时序数据库 TDengine,生产效能显著提升:整体上,数据压缩率超 10 倍、写入性能提升 18 倍,查询在特定场景上也实现了数倍的提升。同时减少了技术架构复杂度,实现了零代码数据接入。本文将对 TDengine 在沃太能源的应用情况进行详解。
63 0
下一篇
oss创建bucket