导航:首页 > 编程语言 > mongodb驱动Java

mongodb驱动Java

发布时间:2023-04-25 15:28:22

1. mongo-java-driver,java怎么查询MongoDB,并做时间分组统计

java操作mongodb进行查询,常用筛选条件的设置如下:

条件列表:

BasicDBListcondList=newBasicDBList();

临时条件对象:

BasicDBObjectcond=null;

DBCollectioncoll=db.getCollection("A");

1、$where

在某种应用场合,若要集合A查询文档且要满足文档中某些属性运算结果,可以编写一脚本函数用where进行设置,比如:

某集合中存放的用户信息,包括姓名、年龄、手机号、地址等,要筛选出年龄大于20且小于等于40的用户,我们可以这样:

StringageStr="function(){returnparseFloat(this.age)>20&&parseFloat(this.age)<=40};"洞厅;

cond=纳信隐newBasicDBObject();

cond.put("$where",ageStr);

放入条件列表

condList.add(cond);

2、$in

接1实例中,要查询年龄为23、40、50的用户信息,我们可以这样:

创建一个临时的条件列表对象,将条件值分别添加进去

BasicDBListvalues=newBasicDBList();

values.add(23);

values.add(40);

values.add(50);

cond=newBasicDBObject();

cond.put("age",newBasicDBObject("$in",values));

放入条件列表

condList.add(cond);

3、模糊匹配

接1实例中,要按照用户的姓名进行模糊查询,如:王,我们可以这样做:

使用不区分大小写的模糊查询

3.1完全匹配

Patternpattern=Pattern.compile("^王$",Pattern.CASE_INSENSITIVE);

3.2右匹配

Patternpattern=Pattern.compile("^.*王$",Pattern.CASE_INSENSITIVE);

3.3左匹配

Patternpattern=Pattern.compile("^王.*$",Pattern.CASE_INSENSITIVE);

3.4模糊匹配

Patternpattern=Pattern.compile("^.*王.*$",Pattern.CASE_INSENSITIVE);

cond=newBasicDBObject();

cond.put("name",cond);

放入条件列表

condList.add(cond);

4、$gte/$lte/$gt/$lt

接1实例中,要筛选出年龄大于20且小于等于40的用户,我们可以这样:

cond=newBasicDBObject();

cond.append("age",newBasicDBObject("$gt",20));

cond.append("age",newBasicDBObject("$lte",40));

放入条件列表

condList.add(cond);

在日常的查询中筛选的条件可能会有多个,而且多个条件之间都是且的关系,结合上例1、2、3、4中

将每种条件添加到条件列坦念表中,我可以这样:

BasicDBObjectsearchCond=newBasicDBObject();

searchCond.put("$and",condList);

然后查询数据:

DBCursorret=coll.find(searchCond);

2. mongodb的java驱动怎么安装,已经安装了mongodb,下载了java驱动,不知道下一步怎么做,

安装:mongod --dbpath "E:\tool\db\mongo\dbfile" --logpath "E:\tool\db\mongo\dbfile\logs.txt" --install --serviceName "MongoDB"
卸载:mongod --remove --serviceName "MongoDB"

3. MongoDB java Driver 3.x 要怎么用.求解

第一步:安装MongoDB无需太多的繁杂步骤,你只要在MongoDB官方网站查看安装说明,根据自己的操作系统进行选择适应的版本即可。第二步:启动MongoDB服务器这一步也很简单。运行mongod.exe文件里的bin文件夹(我使用的是Windows OS系统),并启动MongoDB服务器。在默认的情况下服务器将启动端口27017,你需要在安装过程中创建将数据存储在/data/db目录里。第三步:启动MongoDB shell指令你可以通过运行mongo.exe文件来启动MongoBD shell。第四步:利用MongoDB创建数据库利用MongoDB在MongoDB shell中输入以下内容建立一个名为“company”的数据库。use company 记住,除非你在MangoDB里保存了一些东西,否则它不会自动为你保存。使用下面的命令帮你查看可用的数据库,它会显示“company”尚未被创建。show dbs; 第五步:在MongoDB中保存数据使用下面的命令来保存employee 数据代表一个collection,将其命名为employees。employee = {name : "A", no : 1} db.employees.save(employee) 通过使用下面的命令来查看collection里的数据。db.users.find(); 如何使用Java操作MongoDB?下面是是一段简单的Java代码,你可以在这里获得mongo-java驱动。很简单,只需要使用下面的代码,重复上面的操作即可。package com.eviac.blog.mongo; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.Mongo; import com.mongodb.MongoException; public class MongoDBClient { public static void main(String[] args) { try { Mongo mongo = new Mongo("localhost", 27017); DB db = mongo.getDB("company"); DBCollection collection = db.getCollection("employees"); BasicDBObject employee = new BasicDBObject(); employee.put("name", "Hannah"); employee.put("no", 2); collection.insert(employee); BasicDBObject searchEmployee = new BasicDBObject(); searchEmployee.put("no", 2); DBCursor cursor = collection.find(searchEmployee); while (cursor.hasNext()) { System.out.println(cursor.next()); } System.out.println("The Search Query has Executed!"); } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } } } 结果如下:{ "_id" : { "$oid" : "4fec74dc907cbe9445fd2d70"} , "name" : "Hannah" , "no" : 2} The Search Query has Executed! 小结:随着互联网Web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展也非常迅速。本文浅显的谈及了如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作的问题。如果您是这方面的专家不妨与我们分享下。

4. java链接mongo数据库需要引什么jar包

  1. 需要的jar

mongo-java-driver

maven仓库里面,mongodb3.0的连接驱动
<!--MongoDB数据库连接驱动-->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.0</version>
</dependency>

2.连接过程代码


importorg.bson.Document;

importcom.mongodb.MongoClient;
importcom.mongodb.client.MongoCollection;
importcom.mongodb.client.MongoDatabase;

/**
*2016年8月5日下午3:19:44
*
*@author3306TODO测试Mongo数据库连接
*
*/
publicclassTestMongo{

;

privatestaticStringhost="192.168.0.149";//mongo数据库服务器地址,本地为127.0.0.1
privatestaticintport=20000;//mongo默认为27017端口

/**
*获取数据库集合
*
*@paramdatabaseName
*数据库名称
*@paramcollectionName
*集合名称
*@returnMongoCollection<Document>
*/
publicstaticMongoCollection<Document>getMongoCollection(StringdatabaseName,StringcollectionName){
returngetMongoDatabase(databaseName).getCollection(collectionName);
}

/**
*获取mongo数据库
*
*@paramdatabaseName
*数据库名称
*@returnMongoDatabase
*/
(StringdatabaseName){
mongoClient=newMongoClient(host,port);
returnmongoClient.getDatabase(databaseName);
}

/**
*测试数据连接
*
*@paramargs
*/
publicstaticvoidmain(String[]args){

StringdatabaseName="mojing";//数据库
StringcollectionName="user";//集合名称

MongoCollection<Document>userCollection=getMongoCollection(databaseName,collectionName);

System.out.println(userCollection.count());
}

}

5. 如何配置MongoDB的Java驱动程序MongoOptions在生产中使用

Java代码 收藏代码
// 构造方法
// replicaSetSeeds 所有 Server 的地址
// options 默认的查询设置

public Mongo( List<ServerAddress> replicaSetSeeds , MongoOptions options )
throws MongoException {
// 设置类变量
_addr = null;
_addrs = replicaSetSeeds;
_options = options;

// 应用查询设置
_applyMongoOptions();
// 创建 TCP 连接实例
_connector = new DBTCPConnector( this , _addrs );

// 启动数据清理线程
_cleaner = new DBCleanerThread();
_cleaner.start();
}

// 应用查询设置
void _applyMongoOptions() {
// 是否在 Slave Server 上执行查询
if (_options.slaveOk) slaveOk();
// 应用默认的写入设置
setWriteConcern( _options.getWriteConcern() );
}

// 应用默认的写入设置
public void setWriteConcern( WriteConcern concern ){
_concern = concern;
}

涉及的其他类:
ServerAddress 用于保存主机名和所使用的端口的信息
MongoOptions 用于保存查询设置(是否在 Slave 上进行查询,超时设置等)
WriteConcern 写入参数设置,包括:Server 数量,写入超时设置,是否立即将结果同步到文件系统中
DBTCPConnector 表示 TCP 数据连接,后续文章中将详细介绍。
DBCleanerThread 清理线程,每隔一段时间清理各个DB 的 DBCursor

获取所有数据库的名称

实现如下:
Java代码 收藏代码
// 获取所有数据库的名称
public List<String> getDatabaseNames()
throws MongoException {
// 创建表示数据库命令的 DBOBject
BasicDBObject cmd = new BasicDBObject();
cmd.put("listDatabases", 1);

// 使用 admin 数据库执行命令并返回结果
CommandResult res = getDB( "admin" ).command(cmd, getOptions());
// 有错误的情况下抛出异常
res.throwOnError();

// 获取结果中的 databases 属性,即数据库列表
List l = (List)res.get("databases");

// 遍历 databases,将名称保存到一个 list 中,并返回结果
List<String> list = new ArrayList<String>();

for (Object o : l) {
list.add(((BasicDBObject)o).getString("name"));
}
return list;
}

涉及的其他类:
BasicDBObject 与 MongoDB 交互时使用的数据结构,实际相当于 Java 中的 Map,或 JavaScript 中的 object
CommandResult 操作执行的结果,继承 BasicDBObject,提供一些便捷的方法,实际仍然是在 DBObject 中查询相应的属性。

6. 有没有大神 java连接mongodb遇到了问题

新版本的戚知皮mongodb的驱动包是依赖bson.jar和mongodb_driver_core.jar的 官网上有提示:
Note: mongodb-driver requires the following dependencies: bson and mongodb-driver-core

去看高差一下 ,然后对应的地方有两个包的下载,猛纳导进你的方法就ok了

下载地址:

MongoDB-driver-3.0.1.jar
mongodb-driver-core-3.0.1.jar
bson-3.0.1.jar
https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.0.1/

https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver-core/3.0.1/

https://oss.sonatype.org/content/repositories/releases/org/mongodb/bson/3.0.1/

7. mongodb的java驱动如何在distinct后count,只获得结果的大小

不distinct是可以的:mongoTemplate.getCollection("goods").getStats().get("size");
distinct后没发现呢,貌似不行吧。

8. 浅谈如何用Java操作MongoDB

本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。 文章内容如下: 第一步:安 NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库。本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。 文章内容如下: 第一步:安装MongoDB 无需太多的繁杂步骤,你只要在MongoDB官方网站查看安装说明,根据自己的操作系统进行选择适应的版本即可。 第二步:启动MongoDB服务器耐帆 这一步也很简单。运行mongod.exe文件里的bin文件夹(我使用的是Windows OS系统),并启动MongoDB服务器。 在默认的情况下服务器将启动端口27017,你需要在安装过程中创建将数据存储在/data/db目录里。 第三步:启动MongoDB shell指令 你可以通过运行mongo.exe文件来启动MongoBD shell。 第四步:利用MongoDB创建数据库 利用MongoDB在MongoDB shell中输入以下内容建立一个名为“company”的数据库。 双击代码全选 1<ol class="dp-xml"style="margin:0px 0px 1em 20px;padding:5px 0px;list-style-position:initial;list-style-image:initial;border-style:none none none solid;border-left-width:3px;border-left-color:#146b00;color:#5c5c5c;font-size:14px;"><li><漏亩罩p>use company </p></li></ol> 记住,除非你在MangoDB里保存了一些东西,否则它不会自动为你保存。 使用下面的命令帮你查看可用的数据库,它会显示“company”尚未被创建。 双击代码全选 1<ol class="dp-xml"style="margin:0px 0px 1em 20px;padding:5px 0px;list-style-position:initial;list-style-image:initial;border-style:none none none solid;border-left-width:3px;border-left-color:#146b00;color:#5c5c5c;font-size:14px;"><li><p>show dbs; </p></li></ol> 第五步:在MongoDB中保存数据 使用下面的命令来保存employee 数据代表一个collection,将其命名为employees。 双击代码全选 1<ol class="dp-xml"style="margin:0px 0px 1em 20px;padding:5px 0px;list-style-position:initial;list-style-image:initial;border-style:none none none solid;border-left-width:3px;border-left-color:#146b00;color:#5c5c5c;font-size:14px;"><li><p>employee = {name : "A", no : 1} </p></li><li><p>db.employees.save(employee) </p></li></ol> 通过使用下面的命令来查看collection里的数据。 双击代码全选 1<ol class="dp-xml"style="margin:0px 0px 1em 20px;padding:5px 0px;list-style-position:initial;list-style-image:initial;border-style:none none none solid;border-left-width:3px;border-left-color:#146b00;color:#5c5c5c;font-size:14px;"><li><p>db.users.find(); </p><返闹/li></ol> 如何使用Java操作MongoDB? 下面是是一段简单的Java代码,你可以在这里获得mongo-java驱动。很简单,只需要使用下面的代码,重复上面的操作即可。 双击代码全选 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49packagecom.eviac.blog.mongo; importjava.net.UnknownHostException; importcom.mongodb.BasicDBObject; importcom.mongodb.DB; importcom.mongodb.DBCollection; importcom.mongodb.DBCursor; importcom.mongodb.Mongo; importcom.mongodb.MongoException; publicclassMongoDBClient { publicstaticvoidmain(String[] args) { try{ Mongo mongo = newMongo("localhost", 27017); DB db = mongo.getDB("company"); DBCollection collection = db.getCollection("employees"); BasicDBObject employee = newBasicDBObject(); employee.put("name", "Hannah"); employee.put("no", 2); collection.insert(employee); BasicDBObject searchEmployee = newBasicDBObject(); searchEmployee.put("no", 2); DBCursor cursor = collection.find(searchEmployee); while(cursor.hasNext()) { System.out.println(cursor.next()); } System.out.println("The Search Query has Executed!"); } catch(UnknownHostException e) { e.printStackTrace(); } catch(MongoException e) { e.printStackTrace(); } } } 结果如下:

9. Mongodb的java driver中的Mongo和MongoClient有什么区别

“MongoClient加入到Java驱动程序在2.10作为MongoDB的默认连接类

其实吵大耐并没有什么区别

不过有时候Mongo 运行得比 MongoClient要快
你可以试一下这个代码,放入1m的文档。Mongo大概用20秒左右,MongoClient要用180秒左右仿培。
<?php

function mongo_connect($db, $collection) {
$mongo = new Mongo( 'mongodb://localhost' );
return $mongo->$db->$collection;

}

$mongodb='notificator1';
$mongocollection='tok';
$collection= mongo_connect($mongodb, $mongocollection);

echo $time = microtime(true). "\n"升春;

$i=0;
while ( $i < 1000000 ) {
$row = Array('title' => "test #$i");
$collection->save($row);
++$i;
}

echo microtime(true) - $time;

?>

替换 mongo_connect:
function mongo_connect($db, $collection) {
$m = new MongoClient('mongodb://localhost:27017');
$db = $m->selectDB($db);
return $collection = new MongoCollection($db, $collection);
}

阅读全文

与mongodb驱动Java相关的资料

热点内容
云服务器服务模型架构 浏览:899
删文件夹什么指令 浏览:507
极速抖音已加密怎么办 浏览:601
matlab拉格朗日算法框图 浏览:428
华为公司计算机视觉算法顾问 浏览:252
夏老师讲的单片机 浏览:296
在编程中如何将图片放大 浏览:161
appstore怎么看是否付费 浏览:603
程序员和硕士 浏览:951
gcc编译消耗内存过多 浏览:281
昌邑网站制作源码 浏览:127
单片机的反向编译 浏览:463
subsample算法 浏览:899
苹果免费看书app哪个最好 浏览:885
c语言加密怎么弄 浏览:842
c语言编译的错误提示 浏览:767
验机苹果app哪个最好 浏览:666
光遇国际服安卓如何购买礼包 浏览:55
163app怎么下载 浏览:247
电脑程序员下场 浏览:45