一.MongoDB安装和启动,widndows和linux基本相同
1.下载数据库,
linux:mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz
2.解压文件,并且放置到合适的位置
tar -vxf mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz
mv mongodb-linux-x86_64-ubuntu1404-3.0.3 /usr/local/mongodb
3.创建必要得文件夹以及文件
数据库文件夹:/usr/local/mongodb/data/db
日志文件:/usr/local/mongodb/data/log/mongodb.log
完了之后记得给文件夹和文件授权,否则服务开不起来.
4.设置数据库位置以及日志位置并且开启服务:
bin(linux)->./mongod --port 27017 --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/data/log/mongodb.log
linux下注意文件及和文件读写权限.当然开启服务还有很多参数,不一一列举.
bin(win)->mongod --port 27017 --dbpath "D:\Program Files\MongoDB\Server\3.0\data\db" --logpath "D:\Program Files\MongoDB\Server\3.0\data\log\MongoDB.log"
5.连接数据库:
bin(linux)->./mongo
bin(win)->mongo.exe
注意:在windows下创建文件夹以及日志文件不再说明操作过程,很简单.还有一点是在服务启动以后,不要关闭启动服务的界面,也不能Ctrl+C,连接数据库的时候需要新起窗口.当然也可以让服务后台运行.后台运行命令:nohup ./mongod --port 27017 --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/data/log/mongodb.log &
6.通过图形界面的客户端连接mongodb
windows下可选得比较多,包括robomongo,mongoVUE等等,linux下可用robomongo.直接去官网上下载然后安装即可.robomongo的优势是可以直接在软件中敲shell命令,并且有提示;mongoVUE的优势是查询截面清晰,不用敲完整的复杂得shell命令.
7.mongodb的其他脚本命令
备份:mongodump/恢复:mongorestore
导入数据:mongoimport -d dbName -c collectionName --file filePath;还有其他很多可选参数
导出数据:mongoexport -d dbName -c collectionName -o filePaht;还有其他很多可选参数
导入导出数据默认都是json格式的文件,当然为了适应和其他数据库的数据交互,可选择导入导出的文件为CVS文件。
二.MongoDB的简单使用
使用mongoDB进行CRUD操作,就是通过执行响应的shell语句,所以实质上是对shell语句的使用.首先需要了解mongoDB的几种简单对象:db,collection,document.
db:数据库对象,等同于关系数据库中的数据库对象
collection:集合对象,等同于关系数据库中的表
document:文档对象,等同于关系数据库中表中的一行记录
1、对数据库的操作:
>db;//查看当前使用的是那个数据库
>show dbs;//展示所有的数据库
>use dbName;//使用某个数据库,如果数据库不存在,就创建数据库,所以创建数据库也是使用这个命令
>db stats();//查看数据库当前状态信息
>db.dropDatabase();//删除当前的数据库
2、对集合的操作:
>db.createCollection(collectionName,option);//collectionName是集合名称,option是可选参数,包括数据库大小等。
>db.collectionName.drop();//删除集合,其中collectionName是集合的名称
3、对文档的操作:
>db.collectionName.insert(document);//向集合中插入数据,其中document(Json)是一个json对象或者数组
>db.collectionName.find(condition);db.collectionName.findOne();db.collectionName.find().pertty();
//查询记录,其中condition(Json)为过滤条件,如果不添表示所有。pertty()表示输出格式优化,find还有很多详细的处理后面介绍。
>db.collectionName.update(condition,updateDate);//更新记录,其中condition(Json)为过滤条件json格式。updateDate为待更新的数据
//>db.mycol.update({"a":1},{$set:{"b":"B"}});将mycol集合中a字段为1的对象的b字段改为"B"
>db.collectionName.remove(condition,justOne);//删除记录,其中condition(Json)为过滤条件,justOne(boolean)表示是否只删除第一条,如果都不添,表示清空集合
>db.collectionName.find().skip(num).limit(num);//分页查询,其中num(Number)是起始页和每页大小。
>db.collectionName.find(condition,{Key:isHead});//投影,第二个json表示某个字段是否隐藏,isHead(0/1)表示
>db.collectionName.find().sort({Key:upOrDown});//结果排序,key为排序关键字,upOrDown(-1/1)表示升序还是降序
>db.collectionName.ensureIndex({key:upOrDown});//建立索引,key为索引字段,upOrDown(-1/1)表示升序还是降序
>db.collectionName.aggregate(options);//聚集函数,options(JsonArray)有多种可选。
//db.mycol.aggregate([{$group:{field:"$by_field",total:{$sum:1}}}]);//按照by_field字段分组,显示field列和total列
三.Java操作MongoDB:
在java操作mongo的时候,首先需要有jar包支持。如果使用mave,依赖如下:
1
2
3
4
5
6
7
8
9
10
|
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-mongodb</ artifactId >
< version >1.3.0.RELEASE</ version >
</ dependency >
< dependency >
< groupId >org.mongodb</ groupId >
< artifactId >mongo-java-driver</ artifactId >
< version >2.11.1</ version >
</ dependency >
|
几个基本java对象的说明如下:
Mongo:数据库连接对象
Mongo monge = new Mongo("localhost",portl);
DB:数据库对象
DB db = monge.getDB("dbName");
DBCollection:集合对象
DBCollection collection = db.getCollection("collectionName");
BasicDBObject:文档对象
BasicDBObject basicDBObject = new BaseDBObject();
DBObject:文档对象的超类
DBObject dbObject = (DBObject)JSON.parse("json");
DBCursor:操作过程中的游标
DBCursor cursor = collection.find();
DBCursor cursor = collection.find("conditionJson");
具体使用代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
@Test public void testMongo() throws UnknownHostException
{ Mongo mongo = new MongoClient( "127.0.0.1" , 27017 ); // 数据库连接
DB db = mongo.getDB( "test" ); // 数据库对象
DBCollection coll1 = db.getCollection( "coll1" ); // 获取集合对象
DBCollection coll2 = db.createCollection( "coll2" , null );
Set<String> collSet = db.getCollectionNames();
DBObject doc1 = new BasicDBObject( "a" , 1 ); // 数据库文档对象
doc1.put( "b" , "B" );
DBObject doc2 = (DBObject) JSON.parse( "{\"a\":2,\"b\":\"B\"}" );
// 插入数据
coll1.insert(doc1, doc2);
// 修改数据
DBObject update = (DBObject) JSON.parse( "{\"a\":2,\"b\":\"updateB\"}" );
coll1.update( new BasicDBObject( "a" , 2 ), update, true , false );
Map<String, Object> map = new HashMap<String, Object>();
map.put( "c" , "updateC" );
map.put( "d" , 4 );
coll1.update( new BasicDBObject( "a" , 1 ), new BasicDBObject(map));
// 查询文档对象
DBObject ref = (DBObject) JSON.parse( "{\"b\":\"updateB\"}" );
DBCursor cursor = coll1.find(ref);
while (cursor.hasNext())
{
DBObject obj = cursor.next();
int valuea = (Integer) obj.get( "a" );
String valueb = (String) obj.get( "b" );
System.out.println(valuea + "-" + valueb);
System.out.println(obj);
}
// 删除数据
coll1.remove( new BasicDBObject( "a" , 1 ));
coll1.drop(); // 清空数据
} |
相关推荐
windows下mongodb安装与使用整理
MongoDB安装和使用全过程!windows平台下下载和安装Mongo数据库时总结的文档,分享给大家!
Linux下MongoDB安装及使用,linux各个版本都适用
主要介绍了windows下mongodb安装与使用图文教程(整理)的相关资料,需要的朋友可以参考下
MongoDb的安装教程
对MongoDB简介、安装与连接。对于刚接触MongoDB很有用的
mongod.exe --install --dbpath=d:\mongodb\data --logpath=d:\mongodb\log\log.log -auth -serviceName "serviceName" 2.卸载服务 mongod.exe --remove --serviceName "serviceName" 3.启动服务 ...
MongoDB安装文档
mongodb 安装 及分配配置 以及使用中遇到的情况
Mongodb安装https配置文档
本课程是一套关于MongoDB应用开发的实战性教程,名为《深入浅出...学员从中可领会到MongoDB设计的精妙之处,体会到MongoDB强大的类sql查询语言,感受到MongoDB与其它Nosql数据库的异同之处。(教程下载地址在文本里面)
mongodb安装和实用命令,大家可以参考参考
mongodb在Linux下安装配置,集群搭建,分片持久化等,MongoDB安装和配置_for_Linux.doc
本教材为redhat linux 4系统下安装mongodb 32位版本,mongodb是一个文件数据库,其他linux系统下安装都是类似的。
文中的系统版本: centos7.7 参阅官网 link 1.创建源 sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo 写入: [mongodb-org-4.2] name=MongoDB Repository baseurl=...2.执行安装 因为我们此处只
nosql实验六- MongoDB的安装与基本操作.docx
MongoDB安装与配置
mongodb安装 《Windows上安装MongoDB:完整步骤详解.pdf》是一份适用于Windows操作系统的MongoDB安装教程,适用于初学者和有经验的开发人员。本教程包括完整的步骤详解,可帮助您快速掌握MongoDB的安装配置,包括...
安装mongodb