mongodb driver使用代码详解_MongoDB

来源:脚本之家  责任编辑:小易  

exports.User = mongolass.model('User', {

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

10gen出版APT的软件包。我们的软件包通常比Debian和Ubuntu的清新。我们发布2个不同的

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

Java代码 收藏代码// 构造方法 // replicaSetSeeds 所有 Ser

0 前言

全是干货的技术殿堂

MongoDB2.6的CXX驱动(mongo-cxx-driver-26compat),内置包含了数

文章收录在我的 GitHub 仓库,欢迎Star/fork:

Java代码 收藏代码// 构造方法 // replicaSetSeeds 所有 Ser

Java-Interview-Tutorial

门对千棵竹,家藏万卷书解缙(1369-1415)字大绅,江西吉水人。少有神童之称。解缙小时候家里很穷,父母以磨豆腐为生,不过解缙家还真住在高档住宅区,他家对面就是曹尚书府。曹尚书家住的是高级别墅,园林景观设计得不错,院内种有大片绿竹林,一年春节,解缙借尚书家的景写了副对联贴在自家的破门上:  门对千竿竹  家藏万卷书  对子很快就引得路人围观赞叹不已,曹尚书听下人禀报说有人拿他院里的竹子说事,心想这小子也太狂了!我当朝尚书都不敢说家藏万卷书,你一个做豆腐的敢如此张狂!家藏万颗豆还差不多!  曹尚书喜欢较劲,使的还是损人不利己的怪招,他马上吩咐下人:“去,组织一个班的人,把竹子全给我削短了,短到

https://github.com/Wasabi1234/Java-Interview-Tutorial

首先华晨宇和尹毓恪并不是同一类型,放在一起比较就像说热狗和张信哲哪个更厉害一样。华晨宇在参加快乐男声比赛的时候,就依靠极其强烈的个人风格征服了观众和评审,在演唱中放空自己,完全投入在歌曲中的状态,在华语音乐界也少有人相同,并且他的技巧很强,高音很高亢,音域宽,是华语很难得的人才。再看华晨宇目前发表的三张个人专辑,《卡西莫多的礼物》《异类》和《H》,每张专辑都很精良,从专辑中释放出的态度同样是华语音乐中少有的。好音乐很多,但有态度的音乐却不多,华晨宇以选秀歌手的姿态通过天赋和自己的努力,完成了这些成就。三张专辑在华语音乐圈中评价都很高。去年在参加综艺《天籁之战》中,华晨宇再次证明了自己的实力,像

mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。我们现在来使用mongodb-driver完成对Mongodb的操作。

90后杨紫4000万豪宅曝光,火过《欢乐颂》    因主演情景喜剧《家有儿女》被观众熟知的杨紫,最近的《欢乐颂2》《龙珠传奇》中的演技渐入佳境。    《欢乐颂》中的吃货傻白甜    《龙珠》中在宫里见缝插针的偷吃跟嬷嬷报告放屁的样子    还有《青云志》中的陆雪琪  这位90后真的是进步很大啊也难怪能以“最被看好的90后小花”登上了《COSMO》5月刊封面~  如今大火的元气少女片酬也是水涨船高而传言杨紫住4000万豪宅    从精致的外观可见这小区的高端定位  三层别墅洋房  外部看起来贵气逼人    90后元气少女的家整体装修风格居然是华丽的欧式风格    从客厅来看  大理石台面的电视

1 环境准备

10万块钱,家具家电远远不够。先不考虑家具家电,水电和地砖是最基层的,一定要做好,不然你以后只能翘掉重做。买地砖质量稍微好点的都要上万,还不包括工人的费用。其次就是门,一般普通木门1200一个,要是门口的防盗门4000的算便宜,你自己算。厨房用大理石做,包括台面橱柜啥的便宜的5000差不多。卧室你要做衣柜,就算是买现成的,2000一个你起码要3个。你要做防水,墙面,浴室贴瓷片,人工费都不少钱。10万块钱也就是做个初步装修,买家电家具是不可能的

创建工程,并添加以下依赖:

<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.10.1</version> </dependency>

2 使用mongodb-driver

2.1 查询所有

@Test public void test1() { //创建连接 MongoClient client = new MongoClient("192.168.200.128"); //打开数据库 MongoDatabase commentdb = client.getDatabase("commentdb"); //获取集合 MongoCollection<Document> comment = commentdb.getCollection("comment"); //查询 FindIterable<Document> documents = comment.find(); //查询记录获取文档集合 for (Document document : documents) { System.out.println("_id:" + document.get("_id")); System.out.println("内容:" + document.get("content")); System.out.println("用户ID:" + document.get("userid")); System.out.println("点赞数:" + document.get("thumbup")); } //关闭连接 client.close(); } }

2.2 根据_id查询

每次使用都要用到MongoCollection,进行抽取:

private MongoClient client; private MongoCollection<Document> comment; @Before public void init() { //创建连接 client = new MongoClient("192.168.200.128"); //打开数据库 MongoDatabase commentdb = client.getDatabase("commentdb"); //获取集合 comment = commentdb.getCollection("comment"); } @After public void after() { client.close(); } @Test public void test2() { //查询 FindIterable<Document> documents = comment.find(new BasicDBObject("_id", "1")); //查询记录获取文档集合 for (Document document : documents) { System.out.println("_id:" + document.get("_id")); System.out.println("内容:" + document.get("content")); System.out.println("用户ID:" + document.get("userid")); System.out.println("点赞数:" + document.get("thumbup")); } }

2.3 新增

@Test public void test3() { Map<String, Object> map = new HashMap(); map.put("_id", "6"); map.put("content", "很棒!"); map.put("userid", "9999"); map.put("thumbup", 123); Document document = new Document(map); comment.insertOne(document); }

2.4 修改

@Test public void test4() { //修改的条件 Bson filter = new BasicDBObject("_id", "6"); //修改的数据 Bson update = new BasicDBObject("$set", new Document("userid", "8888")); comment.updateOne(filter, update); }

2.5 删除

@Test public void test5() { //删除的条件 Bson filter = new BasicDBObject("_id", "6"); comment.deleteOne(filter); }

MongoDB优势与劣势

优势:

1、在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。

2、MongoDB的高可用和集群架构拥有十分高的扩展性。

3、在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。

4、MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询。

劣势:

1、 不支持事务操作。MongoDB本身没有自带事务机制,若需要在MongoDB中实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。

2、 应用经验少,由于NoSQL兴起时间短,应用经验相比关系型数据库较少。

3、MongoDB占用空间过大。

总结

到此这篇关于mongodb driver使用代码详解的文章就介绍到这了,更多相关mongodb driver使用 内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

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如何进行日常的数据库操作的问题。如果您是这方面的专家不妨与我们分享下。

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);

}

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

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

条件列表:

BasicDBList condList = new BasicDBList();

临时条件对象:

BasicDBObject cond = null;

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

1、$where

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

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

String ageStr = "function (){return parseFloat(this.age) > 20 && parseFloat(this.age) <= 40};";

cond = new BasicDBObject();

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

放入条件列表

condList.add(cond);

2、$in

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

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

BasicDBList values = new BasicDBList();

values.add(23);

values.add(40);

values.add(50);

cond = new BasicDBObject();

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

放入条件列表

condList.add(cond);

3、模糊匹配

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

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

3.1完全匹配

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

3.2右匹配

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

3.3左匹配

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

3.4模糊匹配

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

cond = new BasicDBObject();

cond.put("name",cond);

放入条件列表

condList.add(cond);

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

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

cond = new BasicDBObject();

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

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

放入条件列表

condList.add(cond);

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

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

BasicDBObject searchCond = new BasicDBObject();

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

然后查询数据:

DBCursor ret = coll.find(searchCond);

统计下,大家都用MongoDB什么驱动

官方提供的那个就挺好用的了。

拿下来再自己封装一个连接获取的Context和一个通用的Dao(GenericDao<T>)去进行业务拓展。然后再将这个封装好的dll独立起来,以后就可以复用了。

你说的那个我没太听过,不过对于第三方驱动来说,只要有详细的说明文档和技术团队支持的话,是可以考虑使用的。

  • 本文相关:
  • ubuntu 14.04 安装 mongodb 及 php mongodb driver详细介绍
  • mongodb导出查询结果到文件例子
  • mongodb3.4集群搭建实战之高可用的分片+副本集
  • mongodb中的常用语句总结大全
  • mongodb在windows平台的安装及配置方法
  • mongodb分页的两种方法(图例)
  • windows下mongodb安装与使用图文教程(整理)
  • mongodb教程之入门基础知识
  • mongodb与mysql常用操作语句对照
  • mongodb中多表关联查询($lookup)的深入讲解
  • 详解mongodb数据还原及同步解决思路
  • MongoDB java Driver 3.x 要怎么用.求解
  • Mongodb的java driver中的Mongo和MongoClient有什么区别
  • mongo-java-driver,java怎么查询MongoDB,并做时间分组统计
  • 统计下,大家都用MongoDB什么驱动
  • mongodb c driver支持异步写入吗?在官网上没看到这项的说明,没有的话要c语言怎样才能进...
  • 怎么使用mongolass驱动库连接mongodb数据库
  • 装MONGODB跟PHP mongo driver怎么解决
  • 如何配置MongoDB的Java驱动程序MongoOptions在生产中使用
  • mongodb c driver的怎么实现断线重新连接
  • Mongodb的java driver中的Mongo和MongoClient有什么区别
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页mongodbubuntu 14.04 安装 mongodb 及 php mongodb driver详细介绍mongodb导出查询结果到文件例子mongodb3.4集群搭建实战之高可用的分片+副本集mongodb中的常用语句总结大全mongodb在windows平台的安装及配置方法mongodb分页的两种方法(图例)windows下mongodb安装与使用图文教程(整理)mongodb教程之入门基础知识mongodb与mysql常用操作语句对照mongodb中多表关联查询($lookup)的深入讲解详解mongodb数据还原及同步解决思路mongodb常用操作命令大全mongodb各种查询操作详解mongodb数据库插入、更新和删除操mongodb 数据库操作--备份 还原 mongodb插入数据的3种方法mongodb中使用distinct去重的简单mongodb整库备份与还原以及单个cmongodb查询操作限制返回字段的方mongodb 实现远程连接php中mongodb数据库的连接、添加mongodb中非常好用的aggregate入门教程mongodb数据库入门学习笔记之下载、安装、c#操作mongodb插入数据效率mongodb固定集合(capped collection)的mongodb 学习笔记mongodb增删查改操作示例【基于javascripmongodb exception: $concat only suppor浅谈mongodb的备份方式mongodb的查询方法centos 6.4创建mongodb副本集
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved