mongodb java客户端_java客户端连接MongoDB数据库的简单使用

本文档介绍了如何使用MongoDB Java驱动程序连接到数据库,包括建立连接、认证、操作集合、插入文档、查询数据以及创建索引。通过示例代码展示了如何进行基本的数据操作,适合初学者了解MongoDB在Java环境中的应用。
摘要由CSDN通过智能技术生成

Mongo m = newMongo();//或者

Mongo m = new Mongo( "localhost");//或者

Mongo m = new Mongo( "localhost" , 27017);//或者, to connect to a replica set, supply a seed list of members

Mongo m = new Mongo(Arrays.asList(new ServerAddress("localhost", 27017),new ServerAddress("localhost", 27018),new ServerAddress("localhost", 27019)));

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

3、安全验证(可选)

boolean auth = db.authenticate(userName, password);

4、获取集合列表。每个数据库都存在零个或多个集合,需要时你可以获得他们的列表:

Set colls =db.getCollectionNames();for(String s : colls) {

System.out.println(s);

}

5、获得一个集合。要获得某个特定集合,你可以指定集合的名字,并使用getCollection()方法:

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

6、插入文档

mongodb存储JSON格式的文档,而在Java中表示这种数据格式的最简便的类就是Map了。MongoDB Java Driver中提供的BasicDBObject就是个Map(它继承自LinkedHashMap并实现DBObject接口),它会将Map中的数据转换成BSON格式传输到mongodb。

BasicDBObject doc = newBasicDBObject();

doc.put("name", "MongoDB");

doc.put("type", "database");

doc.put("count", 1);

BasicDBObject info= newBasicDBObject();

info.put("x", 203);

info.put("y", 102);

doc.put("info", info);

coll.insert(doc);

mongodb中每个插入的文档会产生个唯一标识_id。当调用coll.insert(doc);时,driver会检查其中是否有_id字段,如果没有则自动生成ObjectId实例来作为_id的值,这个ObjectId由4部分编码而成:当前时间、机器标识、进程号和自增的整数。insert函数也支持插入文档列表:insert(List list)

7、查询

find函数是查询集合的,它返回的DBCursor是DBObject的迭代器。如下代码:

BasicDBObject query = newBasicDBObject();

query.put("i", 71);

cursor=coll.find(query);try{while(cursor.hasNext()) {

System.out.println(cursor.next());

}

}finally{

cursor.close();

}

8、建立索引

创建索引语句如:coll.createIndex(new BasicDBObject(“i”, 1)); ,其中i表示要索引的字段,1表示升序(-1表示降序)。可以看到,DBObject成为java客户端通用的结构表示。查看索引使用DBCollection.getIndexInfo()函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值