设为首页 收藏本站
查看: 960|回复: 0

[经验分享] 【转】java操作mongo简单实例

[复制链接]

尚未签到

发表于 2016-12-2 09:20:39 | 显示全部楼层 |阅读模式
package maven.demo.test;
import java.util.ArrayList;
import java.util.List;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.QueryOperators;
public class MongoDB {
private static void print(String str){
System.out.println(str);
}
public static void main(String[] args) {
try {
//创建连接
Mongo m=new Mongo("127.0.0.1", 27017);
//得到数据库
DB db=m.getDB("test");
//得到所有数据库
//List<String> colls=m.getDatabaseNames();
//for(String str:colls){
//System.out.println(str);
//}
////得到所有的集合(表)
//for(String collection:db.getCollectionNames()){
//System.out.println(collection);
//}
//删除一个数据库
//m.dropDatabase("sun");
//得到sun表
DBCollection coll=db.getCollection("things");
//查看一个表的索引
//for(DBObject index:coll.getIndexInfo()){
//System.out.println(index);
//}
//DBObject myDoc=coll.findOne();
//System.out.println(myDoc);
//添加
//BasicDBObject doc=new BasicDBObject();
//doc.put("name", "sunshan");
//doc.put("sex", "男");
//doc.put("age", 22);
//coll.insert(doc);
//删除
//coll.remove(doc);
//BasicDBObject doc1=new BasicDBObject();
//doc1.put("i", 0);
//doc1.put("j", "foo");
//BasicDBObject doc2=new BasicDBObject();
//doc2.put("hello", "world");
//doc1.put("doc2", doc2);
//coll.insert(doc1);
//修改
//BasicDBObject doc3=new BasicDBObject();
//doc3.put("x", 6);
//BasicDBObject doc4=new BasicDBObject();
//doc4.put("x", 1);
//coll.update(doc3, doc4,true,false);
//如果数据库不存在就添加 |多条修改 false只修改第一天,true如果有多条就不修改
//条件查询
//System.out.println(coll.find(doc4));
//coll.findAndRemove(doc4);
////批量插入
//List<DBObject> datas=new ArrayList<DBObject>();
//for(int i=0;i<10;i++){
//BasicDBObject bd=new BasicDBObject();
//bd.put("name", "data");
//bd.append("age", i);
//datas.add(bd);
//}
//coll.insert(datas);
//添加
//    BasicDBObjectBuilder documentBuilder = BasicDBObjectBuilder.start();
//documentBuilder.add("database", "mkyongDB");
//documentBuilder.add("table", "hosting");
//BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start();
//documentBuilderDetail.add("records", "99");
//documentBuilderDetail.add("index", "vps_index1");
//documentBuilderDetail.add("active", "true");
//documentBuilder.add("detail", documentBuilderDetail.get());
//coll.insert(documentBuilder.get());
//添加
//Map<Object,Object> map=new HashMap<Object,Object>();
//map.put("a", 1);
//map.put("b", "b");
//coll.insert(new BasicDBObject(map));
//添加
//String json ="{'1' : '1','2' : '2',"+"'11' : {'1' : 1, '2' : '2', '3' : '3'}}";
//DBObject dbobject=(DBObject)JSON.parse(json);
//coll.insert(dbobject);
//更新
//BasicDBObject bdo=new BasicDBObject();
//bdo.put("x", 11);
//coll.update(new BasicDBObject().append("x", 0), bdo);
//更新
//BasicDBObject bdo=new BasicDBObject().append("$inc", new BasicDBObject().append("x", 12));
//coll.update(new BasicDBObject().append("x", 11), bdo);
//更新
//如果不使用$set 直接是 age则所有的都会更新
//根据age为9条件把name:data修改为 name:sun
//BasicDBObject bdo=new BasicDBObject().append("$set", new BasicDBObject().append("name", "sunshan"));
//coll.update(new BasicDBObject().append("age", 9), bdo);
//更新
//根据name为data条件把age:批量修改为 age:age
//BasicDBObject bdo=new BasicDBObject().append("$set", new BasicDBObject().append("age", "age"));
//coll.update(new BasicDBObject().append("name", "data"), bdo,false, true);
//查询age=1
//print("find:"+coll.find(new BasicDBObject("age", 1)).toArray());
//查询age<=1
//print("find: "+coll.find(new BasicDBObject("age", new BasicDBObject("$lte", 1))).toArray());  
//查询age>=1
//print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject("$gte", 1))).toArray());
//查询age!=1
//     print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject("$ne", 1))).toArray());
//查询age=1,2,3
//print("fint: "+coll.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.IN ,new int[]{1,2,3}))).toArray());
//查询age!=1,2,3
//print("find: "+coll.find(new BasicDBObject("age" ,new BasicDBObject(QueryOperators.NIN ,new int[]{1,2,3}))).toArray());
//print("find: "+coll.find(new BasicDBObject("age" ,new BasicDBObject(QueryOperators.EXISTS ,true))).toArray());
//查询age属性
//print("find: "+coll.find(null ,new BasicDBObject("age" ,true)).toArray());
//List<DBObject> list=coll.find().toArray();
//for(Object obj:list){
//System.out.println(obj);
//}
//true查询出来存在的  /false 查询出来不存在的
//print(""+coll.find(new BasicDBObject("y",new BasicDBObject(QueryOperators.EXISTS,false))).toArray());
//DBObject dbc=new BasicDBObject();
//dbc.put("name", 1111);
//List<DBObject> list=new ArrayList<DBObject>();
//list.add(dbc);
//System.out.println(coll.insert(list).getN());
////查询部分数据块
//DBCursor cursor=coll.find().skip(1);
//while(cursor.hasNext()){
//System.out.println(cursor.next());
//}
//DBCursor cur=coll.find(); //DBCursor cur=coll.find().limit(2);
//while(cur.hasNext()){
//System.out.println(cur.next());  
//}
//System.out.println(cur.getCursorId()+" "+cur.count()+" "+JSON.serialize(cur));   
//条件查询
BasicDBObject doc5=new BasicDBObject();
doc5.put("$gt", 1);
doc5.put("$lt", 3);
print("find 21<y<23:"+coll.find(new BasicDBObject("y", doc5)).toArray());
//BasicDBObject doc5=new BasicDBObject();
//doc5.put("$gt", 1);
//doc5.put("$lt", 3);
//BasicDBObject doc6=new BasicDBObject();
//doc6.put("x", doc5);
//System.out.println(coll.find(doc6));
} catch (Exception e) {
e.printStackTrace();
}
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-308518-1-1.html 上篇帖子: mongo shell中特殊判断符号转义的问题 下篇帖子: [转]Mongo DB Capped Collection 中文文档
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表