java与mongodb_mongodb java连接,创建DB和collection 的例子

package com.roothomes.mongodb.test.bean;

public class MongoDBinfo {

private String ip = "";

private String port = "";

private String defaultDB = "admin";

private String defaultCol = "";

public String getIp() {

return ip;

}

public void setIp(String ip) {

this.ip = ip;

}

public String getPort() {

return port;

}

public void setPort(String port) {

this.port = port;

}

public String getDefaultDB() {

return defaultDB;

}

public void setDefaultDB(String defaultDB) {

this.defaultDB = defaultDB;

}

public String getDefaultCol() {

return defaultCol;

}

public void setDefaultCol(String defaultCol) {

this.defaultCol = defaultCol;

}

public String toString(){

StringBuffer strb = new StringBuffer();

strb.append("ip:" + ip);

strb.append(" , port:" + port);

strb.append(" , defaultDB:" + defaultDB);

strb.append(" , defaultCol:" + defaultCol);

return strb.toString();

}

}

package com.roothomes.mongodb.test;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import com.mongodb.BasicDBObject;

import com.mongodb.CommandResult;

import com.mongodb.DB;

import com.mongodb.DBObject;

import com.mongodb.Mongo;

import com.mongodb.util.JSON;

import com.roothomes.mongodb.test.bean.MongoDBinfo;

public class ThreadInsertData {

public static void main(String[] args) {

MongoDBinfo  dbinfo = new MongoDBinfo();

dbinfo.setIp("192.168.1.75");

dbinfo.setPort("20033");

dbinfo.setDefaultDB("roothomesDB");

dbinfo.setDefaultCol("roothomesCol");

try

{

Mongo mongo = new Mongo(dbinfo.getIp() + ":" + dbinfo.getPort());

DB adminDb = mongo.getDB("admin");

ListlistDb = mongo.getDatabaseNames();

boolean defaultDbflag = false;

boolean defaultColflag = false;

for(String oneDb : listDb){

if(oneDb.equals(dbinfo.getDefaultDB())){

defaultDbflag = true;

IteratoriterCol = adminDb.getCollectionNames().iterator();

while(iterCol.hasNext()){

String colName = iterCol.next();

if(colName.equals(dbinfo.getDefaultCol())){

defaultColflag = true;

}

}

break;

}

}

if(!defaultDbflag){

CommandResult crs = adminDb.command("use " + dbinfo.getDefaultDB());

System.out.println(crs.toString());  // { "errmsg" : "no such cmd: use roothomesDB" , "bad cmd" : { "use roothomesDB" : true} , "ok" : 0.0}

//这里是无法创建DB的,可以再创建集合的时候直接创建DB

}

if(!defaultColflag){

DB db = mongo.getDB(dbinfo.getDefaultDB());

DBObject obj =  (BasicDBObject)JSON.parse("{'name':'zouguijin','age':'25'}");

boolean flag = db.collectionExists(dbinfo.getDefaultCol());

if(!flag){

db.createCollection(dbinfo.getDefaultCol(),obj);

System.out.println("创建集合"+ dbinfo.getDefaultCol());

//这里就是创建集合的时候直接创建了DB

}else{

System.out.println("集合"+dbinfo.getDefaultCol()+"已经存在。");

}

//db.roothomesCol.remove({ }); //情况集合

//db.roothomesCol.find().limit(100); //有限制的查询集合

}

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

阅读(12833) | 评论(0) | 转发(0) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值