`

Java 往 MongoDB 插入文档的几种方法

阅读更多
java 写道
package com.easyway.mongodb.app;

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 ...");

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();
}

}
}

 

分享到:
评论

相关推荐

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

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

    jdbc java mongodb mysql 相互同步

    对于MySQL和MongoDB的同步,可以采用几种策略: 1. **定时任务**:使用Java的ScheduledExecutorService或Quartz等库,定期轮询两个数据库,检查是否有新的增删改查操作,如果有,则在另一数据库中执行相应的操作。 ...

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

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

    mongodb安装文档和工具类.zip

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

    MongoDBjava驱动源码程序

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

    mongoDB-2.5.3 java驱动源码

    MongoDB Java驱动源码分为几个主要部分,其中包括`test`、`main`和`util`目录: 1. **test**: 这个目录包含了所有单元测试和集成测试的代码。通过这些测试,我们可以了解驱动的各个功能模块如何被调用和验证。...

    mongodb.dll 下载.zip

    在Windows上,通常会使用MongoDB的C++驱动或者基于.NET、Java、Python等平台的驱动。 2. **数据模型**:MongoDB使用文档型数据模型,文档是BSON(Binary JSON)格式,类似于JSON但包含更多数据类型。 3. **数据库...

    mongoDB实现BOM表多试图转换

    MongoDB是一种分布式文档数据库,常用于处理和存储结构化与半结构化的数据。在企业级应用中,BOM(Bill of Materials)表是至关重要的,它详细记录了产品构成的各个组件及其层次关系。BOM转换是在不同业务场景下,...

    MongoDB;学习资料

    MongoDB是一种流行的开源、分布式文档数据库,被广泛用于构建现代数据驱动的应用程序。它属于NoSQL数据库家族,以其灵活性、可扩展性和高性能而备受青睐。MongoDB的核心特性包括JSON格式的数据存储、动态模式、强大...

    Spring-data + MongoDb源码

    MongoDB则是一种流行的NoSQL文档型数据库,以其灵活性、可扩展性和高性能而受到赞誉。Spring Data为MongoDB提供了一个强大的抽象层,使得开发者可以轻松地在Java应用中集成和操作MongoDB。 Spring Data MongoDB的...

    Excell导入Mongo工具类.rar

    5. **插入数据**:将预处理后的文档插入到指定的MongoDB集合中,集合相当于关系数据库中的表。 6. **错误处理**:可能包含异常处理机制,如处理文件读取错误、网络连接错误或数据转换错误等。 在实际应用中,用户...

    Spring+MongoDB整合 项目

    例如,创建操作可能涉及到插入一条新的MongoDB文档,读取操作可能是根据ID查询文档,更新操作是对已有文档的修改,而删除操作则是移除特定文档。 这个项目为开发者提供了一个实战平台,通过学习和实践,可以深入...

    MongoDB释放空闲空间的几种常用方法

    以下是几种常用的MongoDB空闲空间释放方法: 1. **compact命令**: MongoDB的`compact`命令是对集合中的所有数据和索引进行重写和碎片整理的操作。这会重新排列数据,合并碎片,并清理空闲空间。然而,需要注意的...

    MongoDB的Linux安装、基本操作、可视化、实验源码与报告文档.docx

    MongoDB是一款流行的开源文档型数据库,属于NoSQL数据库的一种。它以其高度的灵活性、强大的性能和优秀的可扩展性著称,在现代应用程序的数据存储和处理领域有着广泛的应用。 - **数据模型**:MongoDB使用JSON风格...

    MongoDB学习MongoDB学习MongoDB学习

    MongoDB是一种流行的开源文档数据库,属于NoSQL数据库类别,它以JSON格式的文档作为数据存储单元,具有高可用性、可扩展性和高性能等特性。在MongoDB的学习过程中,以下几个核心知识点至关重要: 1. **基本原理**:...

    Java操作mongo

    4. **插入数据**:使用`insertOne()`或`insertMany()`方法向集合中插入文档: ```java Document doc = new Document("name", "John").append("age", 30); collection.insertOne(doc); ``` 5. **查询数据**:`...

    MongoDB 配置以及简单CRUD快速上手

    MongoDB特别适合以下几种业务场景: 1. **社交平台**:存储用户信息和动态,利用地理位置索引来实现诸如“附近的人”功能。 2. **游戏领域**:存储玩家数据、游戏进度等信息,利用内嵌文档形式高效地组织和访问数据...

    NoSQL数据库MongoDB基础学习

    MongoDB 没有自动递增或序列特性,当 BSON 对象插入到数据库中时,如果没有提供“_id”字段,数据库会自动生成一个 ObjectId 对象作为“_id”的值插入到集合中作为该文档的主键。 MongoDB 的应用场景非常广泛,如...

    13.mongodb.rar

    MongoDB 是一种流行的开源、分布式文档数据库,常用于构建现代Web应用程序。在前端开发中,MongoDB 可作为后端数据存储解决方案,与RESTful API相结合,为前端提供数据支持。MongoDB 的特点包括其灵活性、高性能以及...

    MongoDB知识概述

    3. 添加集合和记录:向指定数据库的集合中插入文档,如`db.[documentName].insert({…})`。 4. 查看所有集合:使用`show collections`。 5. 查询文档:使用`find()`查找所有文档,`findOne()`获取第一条数据。 6. ...

Global site tag (gtag.js) - Google Analytics