`

MongoDB读写

阅读更多

参考http://www.cnblogs.com/varlxj/archive/2010/03/12/1684181.html

 

首先下载我们MongoDb数据库和jar包

 

命令控制台中启动数据库

    bin\mongod.exe -dbpath data

 

在我们的项目中导入jar包,测试类

import java.net.UnknownHostException;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
import com.mongodb.MongoException;

public class Client {

	protected static void showData(DBCursor ite) {
		System.out
				.println("..................................................................");
		while (ite.hasNext()) {
			System.out.println(ite.next());
		}
	}

	public static void main(String args[]) {
		try {
			// 默认端口是27017,可以省略端口
			Mongo m = new Mongo("127.0.0.1:27017");

			// 选择数据库,如果没有这个数据库的话,会自动建立
			DB db = m.getDB("mongo");

			// 列出所有数据库名,不过发现,如果数据库里面是没有数据的话,并不会被列出来
			System.out.println("数据库列表 :" + m.getDatabaseNames());

			// 建立一个集合,和数据库一样,如果没有,会自动建立
			DBCollection col = db.getCollection("col");

			// 列出所有集合名,和数据库一样,如果集合里面是没有数据的话,并不会被列出来
			System.out.println(db.getCollectionNames());

			// 建立一个数据项,重复执行会多次添加一样的数据
			BasicDBObject val = new BasicDBObject();
			val.put("name", "凤姐");
			col.save(val);

			// 保存的数据为 { "_id" : "4b8de2f3053068a371e870c0" , "name" : "凤姐"}
			// _id是系统自动帮加上的,全局唯一
			// 多次加入一样的数据时,_id都是不一样的
			// 取得所有数据并打印出来
			DBCursor ite = col.find();
			showData(ite);

			// 查找所有 name=凤姐 的项,并更新
			BasicDBObject old_val = new BasicDBObject(), new_val = new BasicDBObject();
			old_val.put("name", "凤姐456");
			new_val.put("name", "凤姐999");	 
			col.update(old_val, new_val);// 只会更新一个
			//col.updateMulti(new_val, old_val);// 不知道怎么回事,这函数不顶用

			ite = col.find();
			showData(ite);
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (MongoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
分享到:
评论

相关推荐

    .net读写mongodb

    总的来说,这个压缩包文件提供了一个基础的C# .NET框架下的MongoDB读写示例。开发者可以通过学习这些代码,了解如何在.NET环境中设置MongoDB连接、创建数据库对象、执行插入和查询操作。同时,也可以根据自己的需求...

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    Spring Data MongoDB是一个强大的Java库,它为开发人员提供了一种简单的方式来访问和操作MongoDB数据库。这个库是Spring Data框架的一部分,旨在简化数据访问层的实现,尤其在使用NoSQL数据库如MongoDB时。MongoDB...

    mongoDB 实现主从读写分离实现的实例代码

    mongoDB主从读写分离 MongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模式, 点击查看。如果您的环境不符合副本集模式可参考本文,来实现主从读写分离。 resources.properties mongodb_read.host=...

    gin+websocket+mongodb实现 IM 即时聊天系统,基于WS连接的即时聊天

    2. 使用异步操作提高服务器处理速度,特别是在处理MongoDB读写时。 3. 实现消息的批量发送和接收,减少网络传输次数。 4. 对敏感操作(如用户登录、消息发送)进行安全验证,防止恶意攻击。 最后,测试和部署是必不...

    sysbench-mongo:MongoDB javascript shell 的 sysbench 克隆

    1. **操作集**: 支持多种常见的数据库操作,如读写、更新和删除文档,模拟实际应用中的复杂操作场景。 2. **并发控制**: 可以设置多个并发线程执行测试,模拟多用户同时访问数据库的情况。 3. **定制工作负载**: ...

    Spark-Mongodb是一个库允许用户利用SparkSQL读写数据至MongoDB集合

    Spark-MongoDB库将这两者完美结合,实现了在Spark上对MongoDB数据集的高效读写。 首先,让我们详细了解一下如何在Spark中使用Spark-MongoDB库进行数据读取。要连接到MongoDB,你需要配置MongoDB的URI(包括数据库名...

    千万级Mysql-MongoDB性能对比报告

    ### 千万级Mysql-MongoDB性能对比报告 #### 测试环境配置 - CPU: i5 3.30GHz - 内存: 8GB - 操作系统: Windows 7 #### 测试工具与语言 - **Python**作为测试语言 - **MySQL**版本: 5.1,连接工具为**PyMySQL** -...

    Spring boot实现数据库读写分离的方法

    在现代企业级应用中,数据库读写分离是一种常见的优化策略,它可以提高系统的读取性能,减轻主库的压力。Spring Boot框架提供了一种便捷的方式实现这一功能。本文将深入探讨如何利用Spring Boot结合自定义的数据源...

    Windows-MongoDB-4.4.1-x64.zip

    4. **读写分离**:MongoDB 4.4支持读写路由分离,可以更好地实现读写负载均衡,提升系统整体性能。 5. **自动碎片管理**:4.4版本改进了自动碎片管理,可以更智能地调整数据分布,减少手动干预的需求。 6. **变更...

    mongodb数据库jar包

    使用这个jar包,开发人员可以轻松地在Java应用中集成MongoDB,实现数据持久化、读写操作、备份恢复等功能。在实际项目中,我们还需要了解如何配置MongoDB连接参数,如主机地址、端口、数据库名、用户名和密码等,...

    MongoDB4.2.21 Linux版本安装包

    1. **Mongod**:这是MongoDB的主要服务进程,负责处理所有数据库操作,如读写请求、数据存储和复制。 2. **Mongos**:在分片环境中,Mongos作为路由进程,负责将客户端请求路由到正确的分片服务器。 3. **Mongo ...

    mongodb4.4.6安装包

    2. **存储引擎优化**:此版本可能进一步优化了默认的WiredTiger存储引擎,提供更好的读写性能和空间利用率。 3. **安全增强**:MongoDB持续加强安全特性,4.4.6可能包含了安全漏洞的修复和认证授权机制的强化。 4. *...

    五、MongoDB 学习PPT

    在Python中,可以通过PyMongo库与MongoDB进行交互,实现对数据库和集合的操作,以及文档的读写。例如,使用`pymongo.MongoClient()`连接到MongoDB服务器,然后通过`client.db.collection`来访问特定的集合,执行相应...

    mongodb4.4.10.tgz(mongo4目前最新稳定版本)

    MongoDB 4.4.10是MongoDB数据库的一个稳定版本,专为那些希望在Linux环境下运行MongoDB的用户设计。MongoDB是一个流行的开源、分布式文档数据库,它以JSON格式存储数据,支持丰富的查询功能,提供了高可用性、水平...

    mongodb-4.0.4_windows

    1. **事务支持**:MongoDB 4.0开始支持多文档ACID事务,这意味着用户可以在单个操作中执行跨多个文档的读写操作,提高了数据一致性。 2. **聚合框架优化**:4.0版本改进了聚合框架的性能,使得复杂查询和分析操作更...

    MongoDB最新版3.4.10

    4. **设置权限**:MongoDB需要对数据目录有读写权限,可以使用以下命令: ``` sudo chown -R `whoami` /data/db ``` 5. **启动MongoDB**:进入解压后的bin目录,然后启动mongod服务: ``` cd mongodb-linux-x86...

    MongoDB Days 2015 深圳 PPT 共享

    3. **分片技术**: 分片(Sharding)是MongoDB实现横向扩展的方式,通过将数据分散到多个节点上,可以处理更大规模的数据并提高读写性能。 4. **复制集**: 复制集(Replica Sets)提供了数据冗余和故障转移,确保在...

    MongoDb多数据中心

    1. MongoDB的数据中心感知性:MongoDB能够通过数据中心感知性来优化数据复制和读写操作。数据中心感知性指的是MongoDB能够识别不同数据中心的位置,并且根据预设的策略将数据从一个数据中心自动同步到其他数据中心。...

    mongodb高可用所需yaml

    副本集可以容忍单点故障,保持数据一致性,并提供读写分离的能力。 6. **YAML文件**:在Kubernetes中,资源配置使用YAML文件。MongoDB的YAML文件可能包含Deployment(定义MongoDB的Pod规格)、StatefulSet、Service...

    k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)

    MongoDB 分片(Sharding)可以将数据分布在多个节点上,以提高读写性能和数据容量。副本集(Replica Set)则可以确保数据的高可用性和一致性。 在部署 MongoDB 分片(Sharding)和副本集(Replica Set)后,我们...

Global site tag (gtag.js) - Google Analytics