参考资料:Quick Tour
安装mongodb就不说了。
Maven Dependency(注:这里使用的是mongo-java-driver 3):
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.0.2</version> </dependency>
测试代码(包含CRUD):
package com.tch.test.mongodb; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.MongoIterable; import com.mongodb.client.model.Filters; import com.mongodb.client.model.Projections; import com.mongodb.client.model.Sorts; public class MongoDbWithJavaTest { public static void main(String[] args) { MongoClient mongo = null; try { // connect to mongodb mongo = new MongoClient("localhost", 27017); // list all databases // listDatabases(mongo); // get database named "test" MongoDatabase testDatabase = mongo.getDatabase("test"); // list all collections(tables) // listCollections(testDatabase); MongoCollection<Document> userCollection = testDatabase.getCollection("user"); // list all documents in user // listAllDocuments(userCollection); // insert new document // insert(userCollection); // list all documents in user after insert // listAllDocuments(userCollection); // listAllSpecifiedDocumentFields(userCollection); // list document with given filter // listDocumentWithFilter(userCollection); // // listDocumentWithFilterAndInReverseOrder(userCollection); // update document // updateOneDocument(userCollection); // updateAllDocument(userCollection); // // deleteOne(userCollection); // deleteMany(userCollection); // // listAllDocuments(userCollection); } catch (Exception e) { e.printStackTrace(); } finally { if (mongo != null) { mongo.close(); mongo = null; } } } public static void deleteOne(MongoCollection<Document> collection) { System.out.println("delete one records age less than 24"); collection.deleteOne(Filters.lt("age", 24)); } public static void deleteMany(MongoCollection<Document> collection) { System.out.println("delete all records age less than 24"); collection.deleteMany(Filters.lt("age", 24)); } public static void updateOneDocument(MongoCollection<Document> collection) { System.out.println("updateDocument : update one records that named 'dreamoftch' to 'ZhangSan'"); collection.updateOne(Filters.eq("name", "dreamoftch"), new Document("$set", new Document("name", "ZhangSan"))); } public static void updateAllDocument(MongoCollection<Document> collection) { System.out.println("updateDocument : update all records that named 'dreamoftch' to 'ZhangSan'"); collection.updateMany(Filters.eq("name", "dreamoftch"), new Document("$set", new Document("name", "ZhangSan"))); } public static void listDatabases(MongoClient mongo) { // list all databases MongoIterable<String> allDatabases = mongo.listDatabaseNames(); for (String db : allDatabases) { System.out.println("Database name: " + db); } } public static void listCollections(MongoDatabase database) { // list all databases MongoIterable<String> allCollections = database.listCollectionNames(); for (String collection : allCollections) { System.out.println("Collection name: " + collection); } } public static void listAllDocuments(MongoCollection<Document> collection) { System.out.println("begin get all document >>>>>>"); for (Document document : collection.find()) { System.out.println(document); } System.out.println("finish get all document >>>>>>"); } public static void listAllSpecifiedDocumentFields(MongoCollection<Document> collection) { System.out.println("begin get all document(exclude '_id') >>>>>>"); for (Document document : collection.find().projection(Projections.exclude("_id"))) { System.out.println(document); } System.out.println("finish get all document(exclude '_id') >>>>>>"); } public static void insert(MongoCollection<Document> collection){ List<Document> documents = new ArrayList<Document>(); for (int i = 0; i < 10; i++) { documents.add(new Document("name", "dreamoftch").append("age", (20+i)).append("createdDate", new Date())); } collection.insertMany(documents); } public static void listDocumentWithFilter(MongoCollection<Document> collection) { System.out.println("begin get document(name: dreamoftch, age > 25) >>>>>>"); for (Document document : collection.find(Filters.and(Filters.eq("name", "dreamoftch"), Filters.gt("age", 25)))) { System.out.println(document); } System.out.println("finish get document(name: dreamoftch, age > 25) >>>>>>"); } public static void listDocumentWithFilterAndInReverseOrder(MongoCollection<Document> collection) { System.out.println("begin get document(name: dreamoftch, age > 25) >>>>>>"); for (Document document : collection.find(Filters.and(Filters.eq("name", "dreamoftch"), Filters.gt("age", 25))).sort(Sorts.descending("age"))) { System.out.println(document); } System.out.println("finish get document(name: dreamoftch, age > 25) >>>>>>"); } }
测试中间,每测试一个功能,都在mongodb的控制台通过 db.user.find()去查看执行之后的结果。
相关推荐
首先,我们从"MongoDB入门教程"开始。MongoDB采用的是键值对存储方式,数据以JSON格式(BSON)存储,这使得数据的读写更加自然和高效。MongoDB支持丰富的查询语法,包括字段选择、条件操作、排序和分组,为开发者...
Java Tutorial:Java操作MongoDB入门
1.mongodb-win32-i386-2.4.8.zip 由于大小限制,请到官网下载...2.MongoDB开发使用手册.docx 3.MongoDB快速入门教程.docx 4.MongoDB入门经典.doc 5.MougoTest.rar(MongoDB入门经典.doc用例)
10. **驱动程序**:MongoDB 有多种编程语言的驱动程序,如 MongoDB 驱动程序 for Python、Java、Node.js 等,方便开发者在各种环境中使用 MongoDB。 在学习 MongoDB 时,结合《MongoDB 入门教程》CHM 手册,可以...
接着,我们有《MongoDB入门需知(for_phper).doc》,虽然文档标题提到的是PHP开发者,但其中的内容对于理解MongoDB的基本概念和操作是通用的。MongoDB的核心概念包括集合(类似关系数据库的表)、文档(JSON格式的...
### MongoDB入门实战手册知识点概述 #### 一、MongoDB简介 MongoDB是一种开源的文档型数据库,属于NoSQL数据库的一种。它使用JSON格式的文档来存储数据,具有高性能、高可用性和易扩展性等特点,非常适合处理半结构...
**Java基于Jsoup+MongoDB的简单爬虫入门程序** 在现代互联网环境中,数据的获取与分析变得至关重要,而爬虫技术就是实现这一目标的重要工具。本教程将介绍如何使用Java编程语言,结合Jsoup库进行网页抓取,并利用...
"Mongodb入门教程、示例+Spring Boot完整示例+聚合" 本节课将完整地介绍 MongoDB 的入门教程、示例、Spring Boot 完整示例和聚合。 简介 NoSQL(Not Only SQL)是一种非关系型的数据库, MongoDB 是基于分布式...
MongoDB支持JavaScript语法,可以在数据库层面执行脚本,这使得其与后端开发语言(如Java)的集成变得更为便捷。 在MongoDB中,数据的基本单位是文档(Document),类似于传统数据库的行。文档由多个字段(Field)...
MongoDB入门和微聊即时通讯功能实现 在这篇文章中,我们将探索MongoDB的基本概念和Java API的使用,并学习如何使用Spring Boot整合MongoDB来搭建微聊系统实现微聊功能和分布式WebSocket解决方案。 MongoDB入门 ...
小白也可入门学习,如果有一些MySQL、Js经验最佳,Java代码案例部分需要有一定的Java开发基础。 3、课程亮点 系统的学习MongoDB从入门到进阶,掌握现在火爆的NoSQL技术之一。 选择MongoDB的原因及其优势 MongoDB单机...
MongoDB学习总结入门篇.pdf MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。下面将对MongoDB的基本概念、特点、使用原理和基本操作进行详细介绍。 1. MongoDB基本...
MongoDB 入门指南 MongoDB 是一种基于分布式文件存储的 NoSQL 非关系数据库,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它具有以下几个特点: 1. 模式自由:MongoDB 的数据存储格式为 BSON(一种 JSON ...
- 连接MongoDB:使用`mongo`命令行工具或者Java驱动程序(如MongoDB Java Driver)进行连接。 3. **Java与MongoDB的集成** - 添加依赖:在Java项目中,我们需要引入MongoDB Java驱动程序的依赖,通常通过Maven或...
同时,MongoDB支持多种编程语言的驱动程序,如Perl、PHP、Java、C#、JavaScript、Ruby、C和C++,方便开发者进行集成。 MongoDB的数据存储格式是BSON,这是一种二进制形式的JSON,能够高效存储包括大型对象在内的...
7. **多语言支持**:包括RUBY、PYTHON、JAVA、C++、PHP等。 8. **BSON格式**:基于JSON,但增加了日期和二进制数据类型,适合数据库存储。 MongoDB适用于处理网站数据、缓存、移动应用、电商、产品信息等大数据量且...
在本教程中,我们将探讨如何使用Java编程语言与MongoDB数据库进行交互,通过一个简单的"Hello, World!"示例来入门。MongoDB是一款流行的、基于文档的NoSQL数据库,而Java是广泛应用于企业级开发的编程语言。结合两者...
3. **应用程序集成**:如何在各种编程语言(如Python、Java、Node.js等)中使用MongoDB驱动。 4. **故障排查**:常见的错误和异常处理,以及监控和日志分析。 5. **云服务集成**:如使用MongoDB Atlas在云端部署和...
- MongoDB提供了多种语言的驱动程序,如Python、Java、Node.js等,方便集成到不同开发环境中。 - 驱动程序通常封装了MongoDB的命令,简化了数据操作。 10. **最佳实践** - 设计灵活的数据模型,避免强依赖于特定...