MongoDB

什么是mongodb

是一个基于分布式文件存储的开源数据库系统, 在高负载的情况下,添加更多的节点,可以保证服务器的性能。 mongodb旨在为WEB应用提供可扩展的高性能数据存储解决方案。 它是将数据存储为一个文档,数据结构由键值(key=>value)对组成。 mongodb文档类似于json对象。字段值可以包含其他文档,数组及文档数组。


mongodb的基础使用

  1. 启动mongodb服务
./mongod --dbpath=/path/mongodb

ps: 这里为什么使用指定的数据库位置,由于使用默认数据库位置 /data/db 时, 出现了空间不足的情况,mongodb服务需要3.3G的空间。 所以在有多余空间的位置创建了数据库位置。

  1. mongodb连接
./mongod
  1. 数据库的一些操作语句
创建与切换数据库:use database;
如果存在该数据库就切换,如果不存在就创建并切换;
-
查看所有的数据库:show dbs;
刚创建的数据库如果不存放数据,就看不到;
-
查看当前数据库:db;
-
删除数据库:db.dropDatabase();
删除的是当前使用的数据库;
  1. 集合的一些操作
创建集合(插入文档):db.collectionName.insert(document);
如果不存在collectionName的集合就创建并插入document的文档,
存在就向这个集合直接插入document的数据,
其中document是BSON格式的;
-
更新文档:
db.collectionName.update(query, {$set:update},
  {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   });
其中query是一个BSON格式的查询条件;
update是BSON格式的需要更新的内容;
upsert : 可选,这个参数的意思是,如果不存在update的记录,
是否插入objNew,true为插入,默认是false,不插入;
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,
如果这个参数为true,就把按条件查出来多条记录全部更新;
writeConcern :可选,抛出异常的级别。
-
删除文档:
db.collectionName.remove(query,
   {
     justOne: <boolean>,
     writeConcern: <document>
   });
其中query是一个BSON格式的查询条件;
justOne : (可选)如果设为 true 或 1,则只删除一个文档;
writeConcern :(可选)抛出异常的级别。
-
查询文档:db.collectionName.find(query);
其中query是一个BSON格式的查询条件,不含参数时,查找集合中的所有文档;

ps: 什么是bson? BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

  1. MongoDB条件操作符
  • (>) 大于 - $gt------------------- greater than
  • (<) 小于 - $lt-------------------- gt equal
  • (>=) 大于等于 - $gte----------- less than
  • (<=) 小于等于 - $lte------------ lt equal
  • (!=) 不等于 - $ne--------------- not equal

mongodb在java中的应用

  1. 下载相应的jar包,配置xml
  • 下载jar包基于maven
   <!--Mongdb-->
   <dependency>
			<groupId>org.mongodb</groupId>
			<artifactId>mongo-java-driver</artifactId>
			<version>3.2.2</version>
		</dependency>
   <!--spring配置mongodb-->
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-mongodb</artifactId>
			<version>1.8.0.RELEASE</version>
		</dependency>
  • mongodb.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:mongo="http://www.springframework.org/schema/data/mongo"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans   
                  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
                  http://www.springframework.org/schema/context
	               http://www.springframework.org/schema/context/spring-context-3.0.xsd
                  http://www.springframework.org/schema/data/mongo  
               http://www.springframework.org/schema/data/mongo/spring-mongo.xsd">

	<!-- 加载mongodb配置信息 -->
	<!-- ignore-unresolvable="true" 有多个加载配置文件的语句,需要给每个都加上这句话 -->
 <context:property-placeholder location="classpath:mongodb.properties" ignore-unresolvable="true"/>
	<mongo:mongo id="mongo" host="${mongodb.host}" port="${mongodb.port}" />
   <mongo:db-factory dbname="database" mongo-ref="mongo" />
   <bean id="userCredentials" class="org.springframework.data.authentication.UserCredentials">
       <constructor-arg name="username" value="${mongodb.username}" />
       <constructor-arg name="password" value="${mongodb.password}" />
   </bean>
   <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
       <constructor-arg ref="mongo" />
       <constructor-arg name="databaseName" value="${mongodb.databaseName}" />
       <constructor-arg ref="userCredentials" />
   </bean>
</beans>  

mongodb.properties

 ## 数据库地址
 mongodb.host =
## 数据库端口
mongodb.port =
## 数据库用户名
mongodb.username =
## 数据库密码
mongodb.password =
## 使用的数据库名
mongodb.databaseName =
  • 在spring配置文件中引入mongodb配置文件
<!-- 导入mongodb的配置文件 -->
   <import resource="mongodb.xml" />  
  1. 实例测试
  • 测试类主体
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring.xml" })
public class TestSpringMongoDB {
	private static final Logger LOG = LoggerFactory
			.getLogger(TestSpringMongoDB.class);
	@Autowired
	 private MongoTemplate monogoTemplate;
}
  • 测试查询
@Test
	public void testQuery(){
   // 获取到col集合
		DBCollection collection = monogoTemplate.getCollection("col");
		DBObject query = new BasicDBObject("title", "测试用spring插入数据");
		DBCursor cursor = collection.find(query);
		while(cursor.hasNext()){
			LOG.info(cursor.next().toString());
		}
	}
  • 测试插入
@Test
	public void testInsert() {
		// 获取到col集合
		DBCollection collection = monogoTemplate.getCollection("col");
		DBObject document = new BasicDBObject("title", "测试用spring插入数据");
		document.put("time", new Date());
		document.put("context", "没什么好说的");
		document.put("url", "www.lslkk.com");
		collection.insert(document);
	}
  • 测试更新
@Test
	public void testUpdate(){
   // 获取到col集合
		DBCollection collection = monogoTemplate.getCollection("col");
		DBObject query = new BasicDBObject("test", "测试用spring插入数据");
		DBObject document = new BasicDBObject("title", "测试更新数据");
		document.put("time", new Date());
		document.put("context", "更新成功了");
		document.put("url", "192.168.0.1");
		collection.update(query, document);
	}
  • 测试删除
@Test
	public void testDelete(){
		// 获取到col集合
		DBCollection collection = monogoTemplate.getCollection("col");
		DBObject query = new BasicDBObject("title", "测试用spring插入数据");
		collection.remove(query);
	}

转载于:https://my.oschina.net/u/3292411/blog/873686

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值