MongoDB入门学习

1、简介

传统关系型数据库由表和记录组成,一条记录必须遵守表字段定义的类型要求,如果某个字段没有数据,也会为其分配空间,因此,存入一条记录占用的磁盘空间是固定的,MongoDB 是非关系型数据库的一种,它是由集合和bson文档组成,相当于关系数据库的表和记录,文档的结构可以很复杂,嵌套等等。

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统,在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

2、MongoDB的语法

--创建:如果数据库不存在,则创建数据库,否则切换到指定数据库
use DATABASE_NAME
--删除:删除当前数据库,默认为test,你可以使用 db 命令查看当前数据库名。
db.dropDatabase()
--创建集合
--当你插入一些文档时,MongoDB会自动创建集合
db.createCollection(name, options)

--删除集合
db.collection.drop()

--先找到mydb下的所有集合
use mydb
switched to db mydb
>show collections
mycol
mycol2
--接着删除集合 mycol2 :
db.mycol2.drop()
true
//插入文档
db.col.insert({title: 'MongoDB', des: '123',by: '菜鸟教程'})
//更新文档
db.col.update({'title':'MongoDB'},{$set:{'title':'MongoDB 123'}})
//删除文档
db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

//查找
db.collection.find(query, projection)

$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果,是mongodb经常用到的一种操作符

详见:https://www.runoob.com/mongodb/mongodb-operators-type.html

3、备份与恢复

*数据存放目录都要提前建立并指定

4、java代码调用

要先引入mongodb的jar包,调用过程和oracle、sqlserver类似

@Test
public void testAdd() throws UnknownHostException{
	Mongo mongo=new Mongo("localhost", 5678);
	DB db=mongo.getDB("test");
	DBCollection dbCollection=db.getCollection("person");
	
	BasicDBObject dbObject=new BasicDBObject();
	dbObject.put("name", "张三");
	dbObject.put("age", "24");
	
	dbCollection.insert(dbObject);
	mongo.close();
}

@Test
public void testfind() throws UnknownHostException{
	Mongo mongo=new Mongo("localhost", 5678);
	DB db=mongo.getDB("test");
	DBCollection dbCollection=db.getCollection("person");
	DBCursor cursor=dbCollection.find();
	while(cursor.hasNext()){
		DBObject dbObject=cursor.next();
		System.out.println(dbObject.toString());
		System.out.println(dbObject.get("name"));
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值