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

来源:互联网 发布:js设置input宽度 编辑:程序博客网 时间:2024/05/16 09:47

首先, 下载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=valueBasicDBObject 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);}
原创粉丝点击