最近工作不是太忙,所以抽些时间学习一下mongodb。由于很久没有与数据库有关的工作了,同时以前也主要使用关系型数据库,所以对nosql数据库还直接不熟悉,但随着大数据时代的到来,不得不学习新型的数据库。
1、mongodb安装
windows安装包下载地址:http://www.mongodb.org/dr//fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.6.6-signed.msi/download
linux安装包下载地址:http://www.mongodb.org/dr//fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.6.tgz/download
mongodb客户端工具:mongoVUE,百度一下
我选择的是linux环境安装,安装步骤如下:
1)、把文件上传到/usr/local目录(可任意目录);
2)、解压安装文件:tar -zxvf mongodb-linux-x86_64-2.6.6.tgz
3)、建立安装目录:
#mkdir /usr/local/mongodb
#cd /usr/local/mongodb
#mkdir data //数据库存放目录
#mkdir logs //日志存放目录
#mv /usr/local/mongodb-linux-x86_64-2.6.6/* /usr/local/mongodb;
2、启动mongodb
可通过命令mongod -h查看启动项。进到安装目录的bin下,mongo为客户端连接文件,mongod为启动文件
#cd /usr/local/mongodb
#./bin/mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/logs/mongo.log --httpinterface
#ps -ef |grep mongodb //查询启动是否成功
#netstat -tlunp |grep mongod
上图证明启动成功。
==========================================安装结束=============================================
2、java操作mongodb
1)、jar:mongo-java-driver-2.12.1.jar
2)、编写一个简单的类,详细方法可查看API
package com.demo.util.mongodb;
import static org.junit.Assert.assertEquals;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.bson.BSONObject;
import org.bson.types.ObjectId;
import org.junit.Test;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;
/***
* mongodb学习类
* @author wuql
*
*/
public class MongoDBUtil {
private static final String SERVICE = "192.168.8.113";
private static final MongoClient mclient ;
private static final DB db ;
static {
List<ServerAddress> serverList = new ArrayList<ServerAddress>();
try {
ServerAddress server = new ServerAddress(SERVICE);
serverList.add(server);
} catch(UnknownHostException e){
e.printStackTrace();
}
mclient = new MongoClient(serverList);
db = mclient.getDB("demo");
}
//@Test
public void save(){
DBCollection dbc = db.getCollection("demo");
DBObject dbo = new BasicDBObject();
dbo.put("context","test mongodb success" );
dbc.save(dbo);
assertEquals(true, true);
}
@Test
public void get(){
DBCollection dbc = db.getCollection("demo");
long count = dbc.getCount();
System.out.println(count);
DBCursor cursor = dbc.find();
while(cursor.hasNext()){
DBObject obj = cursor.next();
//System.out.println(obj.get("_id"));
System.out.println(obj.get("context"));
}
update();
//id=54a8db0e9a707f6d02ce7c56
DBCursor objId = dbc.find(new BasicDBObject("_id",new ObjectId("54a8db0e9a707f6d02ce7c56")));
System.out.println(objId.next().get("context"));
}
public void update(){
DBCollection dbc = db.getCollection("demo");
dbc.update(new BasicDBObject("_id", new ObjectId("54a8db0e9a707f6d02ce7c56")),
new BasicDBObject("context", "update contex success"));
}
@Test
public void del(){
DBCollection dbc = db.getCollection("demo");
dbc.remove(new BasicDBObject("_id",new ObjectId("54a8db0e9a707f6d02ce7c56")));
System.out.println(dbc.getCount());
}
}