mongodb基本用法
最近无事,心情郁闷,不知该做什么事才好。反正也没事,前些日子听JE老大分析了一下键值数据库,由于有些数据库只支持ruby,所以找了一种能支持JAVA的,那就是mongodb,以前虽然也听别人说过键值数据库,但是不感兴趣,现在有那么一点兴趣了,就试一下也无妨。
反正自己对hibernate之类的关系匹配一直不满,现在也开始厌倦关系型数据库了,所以正好有机会试一下其它的数据库。
需要的基本环境:
jdk1.6(官方说的是1.5也可以,但实际上1.5上运行有错,因为驱动包是在1.6上运行的)
mongodb-win32-i386-1.0.1
mongo-1.0.jar
有了上面的基本环境后,就可以做些例子了。但是在做例子之前,可以先了解一下mongodb的基本用法。
启动数据库服务:进入数据库目录的bin目录下,键入:
mongod --dbpath d:/data(参数dbpath必须加上)
进入客户端:
mongo
关闭数据库可直接ctrl+C就行了。
因为没有相应的图形化界面,所以得用些命令才行。有一些命令与原来的mysql基本相似,但有一些则不同,下面是几个常用的命令:
show dbs : Print a list of all databases on this server
use dbname : Set the db variable to represent usage of dbname on the server
show collections : Print a list of all collections for current database
show users : Print a list of users for current database
show profile : Print most recent profiling operations that took >= 1ms
上面是官方文档上列出的几个基本命令,感觉太少,而实际可以使用的命令还有很多,特别是基本的db对象,比如要删除一个数据库:
1.use dbname
2.db.dropDatabase()
详细用法可参考API文档。
上面介绍了一些数据库的常用用法,但实际上真正使用的场合并不多,只是有时候需要验证一下插入的数据才会这么做。
下面将介绍一下,它与java之间的交互。与连接其它的数据库一样,首先得建立数据库连接
Mongo mongo = new Mongo("127.0.0.1", 27017);DBAddress dbAddress = new DBAddress("localhost","fans");mongo = new Mongo(dbAddress);
//增加一个用户,密码需转换成字符数据db.addUser("fans", "123".toCharArray());System.out.println(db.authenticate("fans", "123".toCharArray()));
DBObject user = new BasicDBObject();user.put("name", "fansof");user.put("password", "12346");//如果没有对应的users数据库,数据库会为此创建一个DB db = mongo.getDB("users");//如果没有对应的userCollection,数据库会创建一个DBCollection coll = db.getCollection("userCollection");DBObject object = new BasicDBObject();object.put("username", "fans");object.put("user", user);coll.insert(object);