Mongo DB java 起步操作,连接数据库,查询语句

本文介绍了如何使用MongoDB Java驱动程序连接到数据库,并展示了构建和执行查询语句的基本步骤。通过添加Maven依赖,导入必要的类,然后创建数据库连接,构建并执行查询,最终获取FindIterable类型的查询结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先, 下载mongo-java_driver
maven 依赖如下

 <dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>3.5.0</version>
  </dependency>

导入相关类。

import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;   // mongo db中的一条数据就是一个Document类型

连接数据库:

 public static MongoDatabase getMongoDataBase(String host, int port, String dbName){

    //need a string: host and a int: port
        MongoClient client=new MongoClient(host,port);

        MongoDatabase db=client.getDatabase(dbName);

        return db;
    }

构造查询语句:

通用语法:  key 为要查询的键, value 为要查询的键对应的值,对应的select sql为  where key=value
BasicDBObject queryCondition=new BasicDBObject(key,value);
或者  BasicDBObject queryCondition=new BasicDBObject();
    queryCondition.put(key,value);
// BasicDBObject 是一个map  可以用put 增加要查询的语句

queryCondition.put("age","25"); //select age=25,在mongodb js语法形式如下{"age":25}
一个BasicDBObject 就相当于js语法中一个{}
另外查询语句可以嵌套,比如常见的在mongo js语法中 find({"age":{"$gt":25}})

这条语句有2个{} 相当于需要两个BasicDBObject 嵌套
对应的java 语句如下:
BasicDBObject queryCondition=new BasicDBObject("age",new BasicDBObject("$gt",25));

或者
BasicDBObject condition=new BasicDBObject("$gt",25); 
queryCondition.put("age",condition);

写完查询语句之后进行查询

collection.find(queryCondition); // 原型是 collection.find(BasicDBObject);

find 方法返回一个FindIterable<> 类型的数据

查询后需要进行检索结果

//获取可迭代结果集
FindIterable<Document>  findIterable=collection.find();

//获取迭代器游标
MongoCursor<Document> iter=findIterable.iterator();

//利用迭代器遍历数据集
while(iter.hasNext()){
    Document tmp=iter.next();  // Document is org.bson.Document
    //Document 是一个map 可以根据key获取记录中的值
    Value=tmp.get(key);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值