一、下载
下载 MongoDB
MongoDB (from "humongous") is a scalable, high-performance, open source NoSQL database. Written in C++, MongoDB features:
二、安装
1、新建MongoDB目录,将下载的 mongodb-win32-x86_64-2.2.2.zip中bin目录 解压到MongoDB目录下。
2、在MongoDB目录下 新建Data目录,并在Data目录下新建“db”和“log”。
建好后目录结构应该是:
----MongoDB
----bin
----Data
----db
----log
执行安装命令:cmd切换到 MongoDB/bin 目录下,执行
D:\Server\MongoDB\bin>mongod --dbpath "D:\Server\MongoDB\Data\db" --logpath "D:\
Server\MongoDB\Data\log\MongoDB.log" --install --serviceName "MongoDB"
all output going to: D:\Server\MongoDB\Data\log\MongoDB.log
执行后,mongodb服务启动,数据库文件指向 Data/db 下。 这时候可以打开 mongo.exe 执行数据插入语句测试。
>db.foo.insert({a:1}) (往foo表插入a,1字段值,foo表为默认表)
>db.foo.find() (查看foo表数据)
三、使用
开始-运行 “services.msc” 打开服务管理器 ,可以看到服务里有 名称为 “Mongo DB” 的服务,启动方式为自动,也就是每次随系统一起启动,通过客户端 mongo.exe来操作数据。
四、java操作
package net.itant.db;
import java.net.UnknownHostException;
import java.util.Set;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
/**
* java操作MongoDB
* @author zhangh
* @date 2012-12-31
*
*/
public class DBManager {
private final String URL = "localhost";
private final int PORT = 27017;
public static void main(String[] args) {
new DBManager().dataEdit();
}
public void dataEdit() {
MongoClient mongoClient;
try {
mongoClient = new MongoClient( URL , PORT );
DB db = mongoClient.getDB("test");
// 取所有"table"
Set<String> colls = db.getCollectionNames();
for (String s : colls) {
System.out.println(s);
}
// 取得foo的连接
DBCollection coll = db.getCollection("foo");
System.out.println("---------初始数据结果-------");
DBCursor dbCursor0 = coll.find();
while (dbCursor0.hasNext()){
DBObject obj = dbCursor0.next();
System.out.println(obj.toString());
}
// 往 foo中插入数据
for (int i=0; i<2; i++){
coll.insert(new BasicDBObject("x", i));
}
System.out.println("---------插入数据结果-------");
DBCursor dbCursor1 = coll.find();
while (dbCursor1.hasNext()){
DBObject obj = dbCursor1.next();
System.out.println(obj.toString());
}
// 删除数据测试
coll.remove(new BasicDBObject("x", 0));
System.out.println("---------删除数据结果-------");
DBCursor dbCursor2 = coll.find();
while (dbCursor2.hasNext()){
DBObject obj = dbCursor2.next();
System.out.println(obj.toString());
}
// 编辑数据
coll.update(new BasicDBObject("x", 1), new BasicDBObject("x", 0));
System.out.println("---------编辑数据结果-------");
DBCursor dbCursor3 = coll.find();
while (dbCursor3.hasNext()){
DBObject obj = dbCursor3.next();
System.out.println(obj.toString());
}
dbCursor0.close();
dbCursor1.close();
dbCursor2.close();
dbCursor3.close();
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}