日期:2014-05-16 浏览次数:20453 次
转载请注意出处:http://blog.csdn.net/zcm101
最近在学习NoSql,先从Mongodb入手,把最近学习的总结下。
Mongodb的下载安装就不详细说了,Mongodb是绿色免安装的,我装的是win32版本,点击下载,其它版本可以官网上下载,下载完后解压到E:\mongodb目录下,即E:\mongodb\mongodb-2.4.0,新建E:\mongodb\data文件夹,data用来存放数据库数据。
启动命令行
cd E:\mongodb\mongodb-2.4.0\bin
mongod -dbpath E:\mongodb\data ——即启动数据库,并把E:\mongodb\data作为数据库存放路径,默认端口:27017
关闭的话很简单,直接在命令窗口Ctrl + C
启动Mongodb的命令窗口不要动,新打开个命令窗口:
cd E:\mongodb\mongodb-2.4.0\bin
mongo.exe ——默认访问 localhost:27017
进去后就可以打些mongodb命令看看了,比如:db, db.getName()等,更多的命令网上找吧
不同的语言均可访问mongodb,为了java能访问mongodb,需要下载java驱动,mongo-2.10.1.jar。
在eclipse中新建java项目,并添加mongo-2.10.1.jar,下面是我的测试类
package com.test; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; public class Main { private static Mongo mongo; private static DB db; private static DBCollection userInfos; private static void init() throws UnknownHostException{ mongo = new Mongo(); db = mongo.getDB("test"); for(String colName: db.getCollectionNames()){ print(colName); } userInfos = db.getCollection("userInfo"); } public static void main(String[] args) { try { init(); // db.dropDatabase(); // add("test1", 11, "man"); // add("test2", 12, "man"); // add("test3", 13, "man"); // add("test4", 14, "man"); // remove("test2", 12, ""); findAll(); } catch (UnknownHostException e) { e.printStackTrace(); } } public static void findAll(){ DBCursor cur = userInfos.find(); while (cur.hasNext()) { print(cur.next()); } } public static void remove(String name, int age, String sex){ DBObject userInfo = new BasicDBObject(); if(name != null && name != ""){ userInfo.put("name", name); } if(age > 0){ userInfo.put("age", age); } if(sex != null && sex != ""){ userInfo.put("sex", sex); } userInfos.remove(userInfo); } public static void add(String name, int age, String sex) { DBObject userInfo = new BasicDBObject(); userInfo.put("name", name); userInfo.put("age", age); userInfo.put("sex", sex); userInfos.insert(userInfo); } public static void print(Object obj){ System.out.println(obj); } }
执行过add后,输出结果:
system.indexes
userInfo
{ "_id" : { "$oid" : "521eebd8e617429aebd917e1"} , "name" : "test1" , "age" : 11 , "sex" : "man"}
{ "_id" : { "$oid" : "521eebd8e617429aebd917e2"} , "name" : "test2" , "age" : 12 , "sex" : "man"}
{ "_id" : { "$oid" : "521eebd8e617429aebd917e3"} , "name" : "test3" , "age" : 13 , "sex" : "man"}
{ "_id" : { "$oid" : "521eebd8e617429aebd917e4"} , "name" : "test4" , "age" : 14 , "sex" : "man"}
Mongodb是文档型数据库,数据存储格式是json,不需要初始新建数据库,表,字段等,在连接mongodb并操作时,会自动创建。
下一篇将会介绍使用spring的mongoTemplate操作mongodb。