初步使用总结_第1页
初步使用总结_第2页
初步使用总结_第3页
初步使用总结_第4页
初步使用总结_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、mongoDB2.6使用总结 一、准备工作下载java驱动包驱动包下载地址:/artifact/org.mongodb/mongo-java-drivermongoDB下载:/在线api:/manual/applications/drivers/二、安装Mongo1.windows下安装方式:安装Mongo数据库:第一步:下载安装包:如果是win系统,注意是64位还是32位版本的,请选择正确的版本(偶数为发布版、奇数为开发版)。第二步:新建目录“F:mongodb

2、2”,解压下载到的安装包第三步:在“F:mongodb2”目录下新建“db”文件夹,它将会作为数据存放的根文件夹。配置Mongo服务端:打开CMD窗口,按照如下方式输入命令: d: cd F:mongodb2bin mongod -dbpath ./db启动成功后从浏览器访问:http:/localhost:27017/标明windows下的mongodb已经启动成功;数据库启动完成,接下来是创建数据库和集合:mongo show dbsadmin (empty)local 0.078GB use admin(切换管理用户)switched to db admin db.my_mongo(创建

3、数据库)admin.my_mongo db.addUser(abc,abc123)(添加用户)WARNING: The addUser shell helper is DEPRECATED. Please use createUser insteadSuccessfully added user: user : abc, roles : root db.auth(abc,abc123)(添加登陆用户)1 db.createCollection(t_users)(添加表) ok : 1 show collections(显示表)system.indexessystem.userssystem.v

4、ersiont_users db.t_users.save(age:21)(存储数据)WriteResult( nInserted : 1 ) db.t_users.find()(查询所有数据) _id : ObjectId(53a2e45e4ab4ac5398), age : 21 mongodb 删除数据库use mymongo;db.dropDatabase();mongodb删除表db.t_users.drop();三、Java操作MongoDB示例1、 建立Test.java,完成简单的mongoDB数据库操作package com;import .UnknownHo

5、stException;import java.util.Date;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;import com.mongodb.Mongo;import com.mongodb.MongoException;public class Test static DBCollection coll = null; static DB db

6、= null; static Mongo m = null; try m = new Mongo(localhost, 27017); catch (UnknownHostException e) e.printStackTrace(); catch (MongoException e) e.printStackTrace(); db = m.getDB(my_mongo); if (db.authenticate(prx, prx.toCharArray() System.out.println(auth success); public static void main(String ar

7、gs) throws Exception / getMemo(); / insertMemo(); query(); / delete(); /* * * param collectionName 相当于 Table 名 * return * throws Exception */ public static DBCollection getDBCollection(String collectionName) throws Exception if(coll = null) coll = db.getCollection(collectionName); return coll; publi

8、c static void insertMemo() throws Exception DBCollection coll = getDBCollection(member); BasicDBObject doc = new BasicDBObject(); doc.put(name, prx); doc.put(city, changsha); doc.put(time, new Date(); coll.insert(doc); public static void getMemo() throws Exception DBCollection coll = getDBCollection

9、(member); BasicDBObject obj = (BasicDBObject) coll.findOne(); System.out.println(obj); public static void query() throws Exception DBCollection coll = getDBCollection(member); BasicDBObject obj = new BasicDBObject(); obj.put(name, prx); DBCursor cursor = coll.find(obj); while (cursor.hasNext() Date

10、date = (Date) cursor.next().get(time); System.out.println(date); cursor.close(); public static void delete() throws Exception DBCollection coll = getDBCollection(member); BasicDBObject query = new BasicDBObject(); query.put(name, prx); / 找到并且删除,并返回删除的对象 DBObject removeObj = coll.findAndRemove(query)

11、; System.out.println(removeObj); 四、mongoDb语法与mysql语法比较MongoDB语法 MySql语法db.test.find(name:foobar) select * from test where name=foobardb.test.find() select * from testdb.test.find(ID:10).count() select count(*) from test where ID=10db.test.find().skip(10).limit(20) select * from test limit 10,20db.te

12、st.find(ID:$in:25,35,45) select * from test where ID in (25,35,45)db.test.find().sort(ID:-1) select * from test order by ID descdb.test.distinct(name,ID:$lt:20) select distinct(name) from test where ID20db.test.group(key:name:true,cond:name:foo,reduce:function(obj,prev)prev.msum+=obj.marks;,initial:

13、msum:0) select name,sum(marks) from test group by namedb.test.find(this.ID20,name:1) select name from test where ID20db.test.insert(name:foobar,age:25)insert into test (name,age) values(foobar,25)db.test.remove() delete * from testdb.test.remove(age:20) delete test where age=20db.test.remove(age:$lt

14、:20) elete test where age20db.test.remove(age:$lte:20) delete test where age=20db.test.remove(age:$gt:20) delete test where age20db.test.remove(age:$gte:20) delete test where age=20db.test.remove(age:$ne:20) delete test where age!=20db.test.update(name:foobar,$set:age:36) update test set age=36 wher

15、e name=foobardb.test.update(name:foobar,$inc:age:3) update test set age=age+3 where name=foobar五、主从复制/huangxincheng/archive/2012/03/04/.html主服务器上的数据能同步到从服务器。六、副本集/huangxincheng/archive/2012/03/04/.html1)-清空所有db文件夹2)-primarymongod -dbpath=D:mongodb2db -port 2

16、222 -replSet shopex/:33333)-secondarymongod -dbpath=E:mongodb2db -port 3333 -replSet shopex/:22224)-初始化db.runCommand(replSetInitiate:_id:shopex,members:_id:1,host::2222,_id:2,host::3333)5)-仲裁mongod -dbpath=F:mongodb2db -port 4444 -replSet shopex/:22226)-客户端2222/adminmongo :2222/adminrs.addArb(:4444)rs.status()7)-故障自动回复KO掉2222稍等一会儿,3333自动变成primary8)-客户端3333/adminrs.status()9)-恢复启动2222,2222变成secondary,3333是primary,4444仍是仲裁。七、分片技术/huangxincheng/archive/2012/03/07/.htmlmongodb采用将集合进行拆分,然后将拆分的数据均摊到几个片上的一种解决方案。下面我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论