码迷,mamicode.com
首页 > 数据库 > 详细

Java and MongoDB link for project

时间:2015-02-16 16:45:11      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

鉴于开源项目的发展,大力拥抱开源社区。发现Java和MongoDB不失为一个较好的选择。

与其他数据库一样,同样需要mongo-java-driver,构建了Java与MongoDB的交互。

1. 连接MongoDB

1.1 普通数据库的连接

MongoClient mongoClient = new MongoClient();
MongoClient mongoClient = new MongoClient( "localhost" );
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017),new ServerAddress("localhost", 27018),new ServerAddress("localhost", 27019)));

1.2 有权限要求的数据库连接

MongoCredential credential = MongoCredential.createMongoCRCredential(userName, database, password);
MongoClient mongoClient = new MongoClient(new ServerAddress(), Arrays.asList(credential));

2. 连接MongoDB具体数据库

2.1 连接具体数据库

DB db = mongoClient.getDB( "mydb" );

2.2 打印所有数据库

List<String> dbs = mongoClient.getDatabaseNames();
for (String db : dbs) {
    System.out.println(db);
}

3. 获得数据库中的具体一个集合

3.1 连接具体集合

DBCollection coll = db.getCollection("testCollection");

3.2 打印所有集合

Set<String> tables = db.getCollectionNames();
for (String coll : tables) {
    System.out.println(coll);
}

4. 插入数据项

BasicDBObject doc = new BasicDBObject("name", "MongoDB")
        .append("type", "database")
        .append("count", 1)
        .append("info", new BasicDBObject("x", 203).append("y", 102));
coll.insert(doc);

5. 查询数据项

5.1 查询最新一个数据项

DBObject myDoc = coll.findOne();
System.out.println(myDoc);

5.2 查询所有数据项

DBCursor cursor = coll.find();
try {
   while(cursor.hasNext()) {
       System.out.println(cursor.next());
   }
} finally {
   cursor.close();
}

5.3 查询数据项个数

System.out.println(coll.getCount());

5.4 查询特定数据项

5.4.1 等于某个条件

BasicDBObject query = new BasicDBObject("i", 71);

cursor = coll.find(query);

try {
   while(cursor.hasNext()) {
       System.out.println(cursor.next());
   }
} finally {
   cursor.close();
}

5.4.2 大于或者小于某个条件

// find all where i > 50
query = new BasicDBObject("i", new BasicDBObject("$gt", 50));

cursor = coll.find(query);
try {
    while (cursor.hasNext()) {
        System.out.println(cursor.next());
    }
} finally {
    cursor.close();
}

6. 更新数据项

DBCollection table = db.getCollection("user");

BasicDBObject query = new BasicDBObject();
query.put("name", "mkyong");

BasicDBObject newDocument = new BasicDBObject();
newDocument.put("name", "mkyong-updated"); 
BasicDBObject updateObj = new BasicDBObject();
updateObj.put("$set", newDocument); 

table.update(query, updateObj);

7. 删除数据项

DBCollection table = db.getCollection("user");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("name", "mkyong"); 
table.remove(searchQuery);

 

Java and MongoDB link for project

标签:

原文地址:http://www.cnblogs.com/chenguanfu/p/4294205.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!