`
chenhua_1984
  • 浏览: 1253901 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Java 保存到MongoDb的文档的几种方法

阅读更多

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json的bjson格式,因此可以存储比较复杂的数据类型。

 

  

import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;
import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBObjectBuilder;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.util.JSON;
  
/**
 * Java MongoDB : Insert a Document
 *
 */
public class InsertDocumentApp {
    public static void main(String[] args) {
  
        try {
  
            Mongo mongo = new Mongo("localhost", 27017);
            DB db = mongo.getDB("yourdb");
  
            // get a single collection
            DBCollection collection = db.getCollection("dummyColl");
  
            // BasicDBObject example
            System.out.println("BasicDBObject example...");
            BasicDBObject document = new BasicDBObject();
            document.put("database", "mkyongDB");
            document.put("table", "hosting");
  
            BasicDBObject documentDetail = new BasicDBObject();
            documentDetail.put("records", "99");
            documentDetail.put("index", "vps_index1");
            documentDetail.put("active", "true");
            document.put("detail", documentDetail);
  
            collection.insert(document);
  
            DBCursor cursorDoc = collection.find();
            while (cursorDoc.hasNext()) {
                System.out.println(cursorDoc.next());
            }
  
            collection.remove(new BasicDBObject());
  
            // BasicDBObjectBuilder example
            System.out.println("BasicDBObjectBuilder example...");
            BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start()
                .add("database", "mkyongDB")
                                .add("table", "hosting");
  
            BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()
                                .add("records", "99")
                                .add("index", "vps_index1")
                .add("active", "true");
  
            documentBuilder.add("detail", documentBuilderDetail.get());
  
            collection.insert(documentBuilder.get());
  
            DBCursor cursorDocBuilder = collection.find();
            while (cursorDocBuilder.hasNext()) {
                System.out.println(cursorDocBuilder.next());
            }
  
            collection.remove(new BasicDBObject());
  
            // Map example
            System.out.println("Map example...");
            Map<String, Object> documentMap = new HashMap<String, Object>();
            documentMap.put("database", "mkyongDB");
            documentMap.put("table", "hosting");
  
            Map<String, Object> documentMapDetail = new HashMap<String, Object>();
            documentMapDetail.put("records", "99");
            documentMapDetail.put("index", "vps_index1");
            documentMapDetail.put("active", "true");
  
            documentMap.put("detail", documentMapDetail);
  
            collection.insert(new BasicDBObject(documentMap));
  
            DBCursor cursorDocMap = collection.find();
            while (cursorDocMap.hasNext()) {
                System.out.println(cursorDocMap.next());
            }
  
            collection.remove(new BasicDBObject());
  
            // JSON parse example
            System.out.println("JSON parse example...");
  
            String json = "{'database' : 'mkyongDB','table' : 'hosting'," +
            "'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
  
            DBObject dbObject = (DBObject)JSON.parse(json);
  
            collection.insert(dbObject);
  
            DBCursor cursorDocJSON = collection.find();
            while (cursorDocJSON.hasNext()) {
                System.out.println(cursorDocJSON.next());
            }
  
            collection.remove(new BasicDBObject());
  
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (MongoException e) {
            e.printStackTrace();
        }
  
    }
}

 

分享到:
评论

相关推荐

    jdbc java mongodb mysql 相互同步

    在文件名为“demo”的压缩包中,可能包含了实现上述功能的示例代码,包括连接数据库、执行SQL、操作MongoDB文档以及数据同步的具体逻辑。解压并研究这些代码,可以帮助你更好地理解和实践Java与MySQL、MongoDB的数据...

    Spring Data MongoDB中文文档

    ### Spring Data MongoDB中文文档知识点概览 #### 一、Spring Data MongoDB概述 - **Spring Data MongoDB** 是 **Spring Data** 家族的一员,它提供了一种简单的方式来与 MongoDB 数据库进行交互。通过 Spring Data...

    MongoDB入门教程 + 架构简析 + java使用MongoDB的简单程序

    MongoDB是一种流行的开源文档数据库系统,它属于NoSQL数据库类别,以其灵活性、可扩展性和高性能而受到广大开发者的青睐。本教程将引导你逐步了解MongoDB的基础知识,深入其架构,并展示如何在Java环境中使用MongoDB...

    springMongodb参考文档中文版

    - **存储库实例创建**:介绍了几种创建存储库实例的方法,如XML配置、JavaConfig等。 - **自定义实现**:讲解如何自定义存储库实现以适应特定需求。 #### 9. MongoDB支持 - **入门**:快速启动指南,帮助用户快速...

    MongoDB基础教学文档

    在“MongoDB基础教学文档”中,你可以期待学习到以下几个关键知识点: 1. **数据模型**:MongoDB的数据模型是基于BSON(Binary JSON)的,这种格式允许存储复杂的数据结构,如嵌入式文档和数组。这使得在一个文档内...

    java mongodb orm 实现-基于mongodb-driver开发的ORM.pdf

    对于索引管理,项目提供了以下几种注解: - **@Indexed**:用于创建单字段索引,可以通过unique属性设置是否为唯一索引,name属性可以自定义索引名称。 - **@CompoundIndexed**:用于创建复合索引,可以指定多个...

    JavaMVC配置mongodb

    MongoDB则是一种流行的NoSQL数据库,以其灵活性、高性能和文档型数据模型而受到广泛欢迎。将Java MVC与MongoDB整合,可以构建出高效、可扩展的数据驱动应用。本文将详细介绍如何在Java MVC项目中配置和使用MongoDB。...

    Java与log4j2整合mongoDB需要的jar包

    同时,你还需要指定如何映射日志事件到MongoDB文档的结构。 4. **编写代码**:在Java代码中,你需要按照正常的log4j2使用方式调用日志记录方法。Log4j2会根据配置自动将日志发送到MongoDB。 5. **测试和优化**:...

    Mongodb连接池JAVA

    MongoDB是一种流行的开源文档数据库系统,以其灵活性、可扩展性和高性能而受到开发者的青睐。在Java应用程序中,当处理大量并发请求时,有效地管理数据库连接是至关重要的。这就是MongoDB连接池的作用,它能帮助优化...

    slf4j输入日志到mongodb

    2. 定义日志模型:设计一个数据模型来表示日志条目,这可能是一个包含日志级别、时间戳、类名、方法名、消息等内容的MongoDB文档。 3. 编写日志处理器:实现一个`org.slf4j.spi.LoggerAdapter`接口,覆盖其`log()`...

    mongodb的java驱动3.2版本

    MongoDB是一款流行的开源文档型数据库,以其高性能、高可用性和可扩展性著称,而Java驱动程序则是MongoDB生态系统中的关键部分,为Java开发者提供了一个桥梁,让他们能够利用Java语言的强大功能来操作MongoDB。...

    MongoDBjava驱动源码程序

    3. **BSON**: BSON(Binary JSON)是MongoDB中用于数据表示和传输的格式,Java驱动包含了一系列的类和接口来处理BSON对象,如`Document`用于表示JSON文档,`BasicDBObject`和`BasicBSONList`是其基础实现。...

    mongodb安装文档和工具类.zip

    MongoDB是一种流行的开源、分布式数据库系统,以JSON格式的文档为数据存储单元,具有高性能、高可用性和可扩展性。这个"mongodb安装文档和工具类.zip"压缩包包含了一些与MongoDB安装相关的文档以及Java编程中操作...

    java+mongodb+分页

    首先,Java是一种广泛使用的面向对象的编程语言,它以其跨平台性、丰富的库支持和强大的性能而受到青睐。在Java中,开发人员可以编写后端服务、桌面应用、移动应用以及各种类型的中间件。 MongoDB则是一种流行的...

    mongoDB-2.5.3 java驱动源码

    - MongoDB Java驱动通过`MongoClient`实例建立到MongoDB服务器的连接,使用`MongoDatabase`和`MongoCollection`来操作数据库和集合。 - 数据操作通常涉及构建`BasicDBObject`或`Document`对象,然后调用`insertOne()...

    使用Java基于MongoDB和SpringData应用.docx

    MongoDB 是一种非关系型数据库,它以文档形式存储数据,文档结构类似于 JSON。与传统的关系型数据库不同,MongoDB 不使用表格和行列结构,而是以键值对的形式存储数据,这使得处理复杂的数据结构变得更为灵活。...

    MongoDB简介与实践.pdf

    10. MongoDB文档示例: MongoDB的文档是一种以BSON格式存储的数据结构,类似于JSON。文档包含一个唯一的_id字段,可以通过ObjectId进行索引,字段可以是字符串、数组、对象等多种类型。 总结来说,MongoDB作为一种...

    利用Spring Data MongoDB持久化文档数据的方法教程

    Spring Data MongoDB提供了一种通过注解的方式来将Java对象映射到MongoDB文档。`@Document`注解用于标记一个类作为文档,而`@Id`注解标识文档的主键。例如,以下`Order`类展示了如何定义字段并映射到MongoDB文档: ...

    mongodb.dll 下载.zip

    MongoDB驱动程序的使用涉及到几个关键知识点: 1. **连接方式**:MongoDB支持多种驱动,包括官方驱动和其他第三方驱动。在Windows上,通常会使用MongoDB的C++驱动或者基于.NET、Java、Python等平台的驱动。 2. **...

Global site tag (gtag.js) - Google Analytics