mongodb与java连接_MongoDBJava连接

Java 连接MongoDB package mymaven;import java.net.UnknownHostException;import java.util.Set;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;impor

Java 连接MongoDB

package mymaven;

import java.net.UnknownHostException;

import java.util.Set;

import com.mongodb.BasicDBObject;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.DBCursor;

import com.mongodb.DBObject;

import com.mongodb.Mongo;

import com.mongodb.MongoException;

public class Test {

/**

* @author ithomer.net

* @datetime 2013-11-11

*/

public static void main(String[] args) throws UnknownHostException, MongoException {

Mongo mongo = new Mongo("172.27.9.104", 27017);// 连接数据库

DB db = mongo.getDB("mytestdb");// 数据库

Setcols = db.getCollectionNames();// 获取数据库中所有的集合(类似于获取关系数据库中的表)

// 打印出数据库中的集合,这里应当为null

for (String s : cols) {

System.out.println(s);

}

DBCollection collection = db.getCollection("mytestcoll");// 创建一个集合

collection.drop();// 删除集合,插入数据时自动重建

BasicDBObject obj = new BasicDBObject();// 初始化一个基本DB对象,插入数据库的就是DB对象

obj.put("from", "blog.ithomer.net");// 放入几个键值对

obj.put("to", "forum.ithomer.net");

obj.put("subject", "ithomer.net");

collection.insert(obj);// 插入对象

DBObject dbobj = collection.findOne();// 查看一条记录,findOne()=find().limit(1);

System.out.println(dbobj);// 打印出刚才插入的数据

// 插入10条{ranking:i}的数据

for (int i = 0; i < 10; i++) {

collection.insert(new BasicDBObject().append("ranking", i));

}

System.out.println("count: " + collection.getCount());// 打印集合中的数据总数

DBCursor cursor = collection.find();// 然后我们使用这个游标来遍历集合

while (cursor.hasNext()) {

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

}

// 简单的条件查询,查询ranking为1的记录

BasicDBObject query = new BasicDBObject();

query.put("ranking", 1);

cursor = collection.find(query);

System.out.println("collection find({\"ranking\":1}):");

while (cursor.hasNext()) {

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

}

// 复杂的条件查询,查询ranking大于等于5小于9的记录

query = new BasicDBObject();

query.put("ranking", new BasicDBObject("$gte", 5).append("$lt", 9));

cursor = collection.find(query);

System.out.println("collection find({\"ranking\":[5-9)}):");

while (cursor.hasNext()) {

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

}

//mongo.dropDatabase("mytestdb");// 最后删除我们的测试数据库

}

}

运行结果:

mytestcoll

system.indexes

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10107"} , "from" : "blog.ithomer.net" , "to" : "forum.ithomer.net" , "subject" : "ithomer.net"}

count: 11

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10107"} , "from" : "blog.ithomer.net" , "to" : "forum.ithomer.net" , "subject" : "ithomer.net"}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10108"} , "ranking" : 0}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10109"} , "ranking" : 1}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010a"} , "ranking" : 2}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010b"} , "ranking" : 3}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010c"} , "ranking" : 4}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010d"} , "ranking" : 5}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010e"} , "ranking" : 6}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010f"} , "ranking" : 7}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10110"} , "ranking" : 8}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10111"} , "ranking" : 9}

collection find({"ranking":1}):

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10109"} , "ranking" : 1}

collection find({"ranking":[5-9)}):

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010d"} , "ranking" : 5}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010e"} , "ranking" : 6}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010f"} , "ranking" : 7}

{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10110"} , "ranking" : 8}

源码下载(maven)

mongodb数组示例:

@SuppressWarnings("unchecked")

public static void loadMediaTags(ListmediaEntityList) {

mediaEntityList.clear();

try {

Mongo mongo = new Mongo(CosineCluster.gMongo_HOST, CosineCluster.gMongo_PORT);

DB db = mongo.getDB(CosineCluster.gMongo_DB);

DBCollection collection = db.getCollection(CosineCluster.gMongo_Coll_Media);

DBCursor cursor = collection.find();

int index = 0;

long startTime = System.currentTimeMillis();

while(cursor.hasNext()){

BasicDBObject obj = (BasicDBObject) cursor.next();

long id = obj.getLong("_id");

ArrayListtagList = (ArrayList) obj.get("tag");// tag

ArrayListkeywordList = (ArrayList)obj.get("keyword");// keyword

ArrayListcopyrightList = (ArrayList)obj.get("copyright");// copyright

MediaEntity mediaEntity = new MediaEntity();

mediaEntity.setId(id);

// tag

for(int j=0; jactorsObjList = (ArrayList)obj.get("actors");// actors

for(int j=0; j directorObjList = (ArrayList)obj.get("director");// director

for(int j=0; j100) {

break;

}

System.out.println(index + " --- mediaEntity : " + mediaEntity.toString());

}

long costTime = System.currentTimeMillis() - startTime;

System.out.println("load data costTime = " + index + "; costTime = " + costTime/1000f);

} catch (Exception e) {

e.printStackTrace();

}

}

public static int getTagInt(String tag) {

int tagIntId = -1;

try {

MongoClient mongo = new MongoClient(CosineCluster.gMongo_HOST, CosineCluster.gMongo_PORT);

DB db = mongo.getDB(CosineCluster.gMongo_DB);

DBCollection tagmapCollection = db.getCollection("recommend_tag_map");

DBCursor cursor = tagmapCollection.find(new BasicDBObject("name", tag));

if(cursor == null || cursor.toArray().size() <= 0) {// 处理小于2或n的映射关键字,下同

return tagIntId;

}

DBObject obj = cursor.toArray().get(0);

String name = tag;

tagIntId = (Integer) obj.get("id");

int num = (Integer) obj.get("num");

mongo.close();

} catch (UnknownHostException e) {

e.printStackTrace();

}

return tagIntId;

}

public static int getActorInt(String actor) {

int actorIntId = -1;

try {

MongoClient mongo = new MongoClient(CosineCluster.gMongo_HOST, CosineCluster.gMongo_PORT);

DB db = mongo.getDB(CosineCluster.gMongo_DB);

DBCollection tagmapCollection = db.getCollection("recommend_actor_map");

DBCursor cursor = tagmapCollection.find(new BasicDBObject("name", actor));

if(cursor == null || cursor.toArray().size() <= 0) {

return actorIntId;

}

DBObject obj = cursor.toArray().get(0);

String name = actor;

actorIntId = (Integer) obj.get("id");

int num = (Integer) obj.get("num");

mongo.close();

} catch (UnknownHostException e) {

e.printStackTrace();

}

return actorIntId;

}

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554308.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

糖果浏览器和139邮箱巧妙应用:将网页文字一键发送到手机上

核心提示&#xff1a;我们有时需要将一些网页中的文字发送到手机上&#xff0c;如商务会谈前&#xff0c;将出行路线和目的地地址发送到手机上便于查看。但是每次都需要手动录入到手机上&#xff0c;费时费力。 我们有时需要将一些网页中的文字发送到手机上&#xff0c;如商务…

Java飞机大战敌机消失_Shoot 飞机大战,功能是子弹打在敌机上, 消失 且在内存中 , 小蜜蜂上同理 Games 游戏 247万源代码下载- www.pudn.com...

文件名称: Shoot下载 收藏√ [5 4 3 2 1 ]所属分类: Games开发工具: Java文件大小: 371 KB上传时间: 2015-12-01下载次数: 0提 供 者: 刘星详细说明&#xff1a;飞机大战&#xff0c;功能是子弹打在敌机上&#xff0c;子弹消失敌机消失且在内存中消失&#xff0c;打在小蜜…

UC浏览器云标签怎么用 UC浏览器云标签使用方法

核心提示&#xff1a;相信很多机友都会使用UC浏览器&#xff0c;但是其多个功能你们能了解多少? 下面小编就为大家介绍UC浏览器云标签使用方法吧! 1、打开【UC浏览器】&#xff0c;点击【多窗口】按钮&#xff0c;然后点击【云标签】;(如下图所示) 2、登陆微博、QQ等&#…

谷歌浏览器怎么设置主页教程

谷歌浏览器怎么设置主页教程 谷歌浏览器怎么设置主页?目前&#xff0c;在世界范围内谷歌浏览器成为了仅次于ie浏览器的第二大主流浏览器&#xff0c;那么&#xff0c;谷歌浏览器主页怎么设置呢?针对此问题&#xff0c;下文浏览器家园小编就为大家图文介绍一下xx谷歌浏览器设置…

日志分析告警实现java_关于Aborted connection告警日志的分析

前言&#xff1a;有时候&#xff0c;连接MySQL的会话经常会异常退出&#xff0c;错误日志里会看到"Got an error reading communication packets"类型的告警。本篇文章我们一起来讨论下该错误可能的原因以及如何来规避。1.状态变量Aborted_clients和Aborted_connects…

UC浏览器APP如何卸载插件

现在很多用户在使用浏览器的时候都会安装一些插件辅助使用&#xff0c;方便用户享受更多便捷的功能&#xff0c;很多用户都会安装相关的插件服务&#xff0c;方便用户更好的使用&#xff0c;那么在用户不需要这些插件的时候要如何删除呢?今天小编就会与大家一起来分享一下浏览…

java在控制台输出sql_logger4j配置数据库sql输出控制台

#--------------------------------# 设定logger的root level为DEBUG/ERROR/info&#xff0c;指定的输出目的地(appender)为stdoutlog4j.rootLoggerERROR, stdout, fileout#log4j.logger.testinfo#log4j.logger.org.apache.jasper DEBUG#log4j.logger.org.apache.catalina.sta…

爱奇艺2020官方下载_爱奇艺视频如何上传

软件是否好用&#xff0c;还得大家下载爱奇艺安装才知道。本文分享爱奇艺2020官方下载_爱奇艺视频如何上传。爱奇艺电影频道拥有大量高清在线电影资源&#xff0c;热门高清电影、好评电影、电影预告都可以在线观看&#xff0c;不去电影院也能看好电影&#xff0c;而且是看所有电…

网页java在div输出内容_JS实现读取xml内容并输出到div中的方法示例

本文实例讲述了JS实现读取xml内容并输出到div中的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;note.xml文件结构:GeorgeJohnReminderaJohnReminderGeorgeJohnReminder利用js将xml输出到div中&#xff1a;www.jb51.net js读取xml.aaaa{width: 30%;height: 50px;…

如何在优酷官网上传视频

当拍攝或是自做的视頻要想发送到在网上时&#xff0c;优酷视频便是一个非常好的视频网站&#xff0c;那如何把视频上传入优酷视频上呢? 01、 网站搜索并进到优酷官网。 如何在优酷官网上传视频 02、 在优酷主页点一下右上方的“登陆”标志&#xff0c;键入登录密码登陆优酷…

java枚举加载顺序_java 中类的加载顺序(转)

1、虚拟机在首次加载Java类时&#xff0c;会对静态初始化块、静态成员变量、静态方法进行一次初始化2、只有在调用new方法时才会创建类的实例3、类实例创建过程&#xff1a;按照父子继承关系进行初始化&#xff0c;首先执行父类的初始化块部分&#xff0c;然后是父类的构造方法…

PP视频如何关闭下载完成通知我

播放器软件很多&#xff0c;本文小编给大家推荐PP视频。PP视频以优质的纯网内容&#xff0c;多元、贴心的生活服务态度&#xff0c;为用户打造一个人与服务相连接的全方位移动视频平台。大家通过PP视频播放器&#xff0c;可以观看到PP视频网站上的所有影视剧等视频资源。目前PP…

java开发遇到最大的问题_java开发遇到的问题总结(三)

25、使百分比的数据显示2位小数publicstaticString div(doublev1,doublev2){DecimalFormat dfnewDecimalFormat("##0.00%");returndf.format(Double.valueOf((v1/v2)));}26、数据缓存问题1)在Action中声明private Cache ehCache;2)放入缓存publicvoidputEcache(){try…

腾讯视频电脑版下载_腾讯视频~如何用腾讯视频

今天继续给大家分享腾讯视频方面的内容。腾讯视频的主界面资源分类最广&#xff0c;为用户提供最新、最热的电影、电视剧、综艺、动漫、体育等视频节目。腾讯视频播放器采用了智能的P2P流媒体播放技术&#xff0c;支持丰富内容的在线点播及电视台直播。腾讯视频是一款可以电影资…

java 位运算 权限控制_java 位运算权限管控(转载)

这里笔者介绍一种很常用&#xff0c;也比较专业的权限控制思路。这里用java语言描述&#xff0c;其实都差不多的。要换成其他的语言主&#xff0c;自己转一下就可以了。为了方便起见&#xff0c;我们这里定义a^b为&#xff1a;a的b次方。这里&#xff0c;我们为每一个操作设定一…

优酷视频如何将地区设置为中国大陆

播放器软件很多&#xff0c;本文小编给大家推荐优酷视频&#xff0c;本文继续分享“优酷视频如何将地区设置为中国大陆”。优酷视频放器是优酷视频旗下的视频客户端产品&#xff0c;支持丰富内容的在线点播及电视台直播。作为国内首家&#xff0c;全力打造正版视频平台的优酷视…

java相遇问题_两车追及或相遇问题(hdu1275)数学题

两车追及或相遇问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 902 Accepted Submission(s):259Problem Description外号叫“猪头三”的小学生在数学课上&#xff0c;经常遇到两车相遇或追及的方程题&#xff0c;…

腾讯视频如何编辑自我介绍

小编继续给大家推荐腾讯视频这款非常好用的播放器软件&#xff0c;文章主要围绕“腾讯视频如何编辑自我介绍”分享&#xff0c;大家可以阅读一下。播放器家园网提供了腾讯视频播放器官方最新版下载&#xff0c;快来下载体验&#xff0c;本站提供的所有软件都是官方链接直接下载…

java常用class类_java常用类

java常用类内部类1.成员内部类&#xff1a;在一个类的内部定义一个完整的类例如&#xff1a;外部类public class Body{内部类class Header{}}内部类可以直接访问外部类的私有成员&#xff0c;而且不破坏封装内部类可以为外部类提供必要的功能组件&#xff0c;成员内部类 在类的…

优酷视频怎么转二维码_优酷视频转二维码

有的人想将自己制作的视频分享出去&#xff0c;那么该如何将视频转换成二维码来分享呢?其实方法很简单&#xff0c;直接在视频界面中就能生成&#xff0c;这里和大家讲讲。 01、 登录自己的优酷帐号&#xff0c;然后点击右上角的上传按钮。 优酷视频怎么转二维码_优酷视频转…