Java操作Mongodb数据库
2013-09-28 00:00
447 查看
Mongodb提供Java Api来进行数据操作。使用方法很简单,在java编译路径中包含
mongo.jar文件即可,如果使用maven,直接添加mongo依赖即可。
mongo.jar文件即可,如果使用maven,直接添加mongo依赖即可。
建立连接
建立MongoDB连接,需要一个数据库名字,数据库如果不存在,mongodb会自动创建该数据库。 创建MongodClient的构造函数: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))); DB db = mongoClient.getDB( "mydb" );下面是个简单的例子:
package com.yeetrack.mongo.test; import java.net.UnknownHostException; import java.util.List; import java.util.Set; import org.bson.NewBSONDecoder; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.MongoClient; import com.mongodb.WriteConcern; public class MyMongodbTest { /** * 学习mongodb java Driver * @author youthflies * @throws UnknownHostException */ public static void main(String[] args) throws UnknownHostException { //实例化一个mongod客户端 MongoClient mongoClient = new MongoClient("192.1.219.163", 27017); //遍历全部的库 for(String string : mongoClient.getDatabaseNames()) System.out.println("mongodb数据库名字--->"+string); //使用用户名、密码登陆 boolean auth = db.authenticate(myUserName, myPassword); //获取数据库对象 DB db = mongoClient.getDB("mydb"); //打印mydb库中的所有数据集名字 Set<String> colls = db.getCollectionNames(); for(String s : colls) System.out.println("库中数据集名字--->"+s); //获得指定的数据集 DBCollection collection = db.getCollection("user"); mongoClient.setWriteConcern(WriteConcern.JOURNALED); //插入一条数据 // {"name":"Lily", "age":"18"} BasicDBObject basicDBObject = new BasicDBObject("name", "Lily"). append("age", "18"); //collection.insert(basicDBObject); //再插入一条数据 //{"name":"Boss", "age":"33", "boys":{"name","boy1": BasicDBObject basicDBObject2 = new BasicDBObject("name", "Boss"). append("age", "44"). append("kids", new BasicDBObject("name", "son").append("age", "11")); //collection.insert(basicDBObject2); //获取数据集中的第一条数据 DBObject myDbObject = collection.findOne(); System.out.println(myDbObject); //使用循环向mongo中插入数据 for(int i=0;i<=4;i++) { //collection.insert(new BasicDBObject("name","loop").append("age", i)); } //获取数据集中的数据个数 System.out.println("数据集中共有数据--->"+collection.getCount()); //使用游标DBCursor DBCursor cursor = collection.find(); try { while(cursor.hasNext()) System.out.println(cursor.next()); } finally { cursor.close(); //关闭游标 } //指定检索条件,例如 name=Lily BasicDBObject queryBasicDBObject = new BasicDBObject("name", "Lily"); DBCursor cursor2 = collection.find(queryBasicDBObject); try { while(cursor2.hasNext()) System.out.println("检索结果--->"+cursor2.next()); } finally { cursor2.close(); } //指定检索条件时,使用$高级查询 // mongodb命令:db.user.find({"name":{$ne:"Lily"},"age":{$gt:"12"}}) 查询名字不是lily,且age大于12的用户 BasicDBObject queryBasicDBObject2 = new BasicDBObject("name", new BasicDBObject("$ne", "Lily")). append("age", new BasicDBObject("$gt", "12")); DBCursor cursor3 = collection.find(queryBasicDBObject2); try { while(cursor3.hasNext()) System.out.println("查询名字不是lily,且age大于12的用户--->"+cursor3.next()); } finally { cursor3.close(); } //$ne:不等于 $gt:大于 $lt:小于 $lte:小于等于 和shell命令一致 //创建索引,1代表升序,-1代表降序 collection.createIndex(new BasicDBObject("name", 1)); //获取索引 List<DBObject> list = collection.getIndexInfo(); for(DBObject object : list) System.out.println("索引信息--->"+object); //删除一个库 mongoClient.dropDatabase("mydb"); mongoClient.close(); } }
相关文章推荐
- java操作MongoDB数据库
- java操作mongoDB数据库的简单实例
- java操作MongoDB数据库
- java操作MongoDB数据库
- 不使用spring的情况下用java原生代码操作mongodb数据库的两种方式
- 【MongoDB for Java】Java操作MongoDB数据库
- java操作MongoDB数据库
- Java项目简单操作MongoDB数据库
- 【MongoDB for Java】Java操作MongoDB数据库
- java操作MongoDB数据库
- Java操作MongoDB数据库示例分享
- java操作mongodb数据库
- Java操作MongoDB数据库示例分享
- java操作mongodb数据库
- JAVA操作MongoDB数据库
- java 操作MongoDB数据库
- Java操作mongodb数据库
- java操作mongodb数据库
- 不使用spring的情况下用java原生代码操作mongodb数据库的两种方式
- 用java操作MongoDB数据库