Ⅰ 如何用java操作mongodb
public class MongoDBJDBC {
public static void main(String[] args) {
try {
// 实例化Mongo对象,连接27017端口
Mongo mongo = new Mongo("localhost", 27017);
// 连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立
DB db = mongo.getDB("test");
// Get collection from MongoDB, database named "yourDB"
// 从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立
DBCollection collection = db.getCollection("test1");
// 使用BasicDBObject对象创建一个mongodb的document,并给予赋值。
BasicDBObject document = new BasicDBObject();
//document.put("id", 1001);
//document.put("msg", "hello world mongoDB in Java");
// 将新建立的document保存到collection中去
//collection.insert(document);
// 创建要查询的document
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("name", "chen");
// 使用collection的find方法查找document
DBCursor cursor = collection.find(searchQuery);
// 循环输出结果
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
System.out.println("Hello World");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}
Ⅱ 关于mongoDB的$or 怎么用java实现
find( { name : "bobquot.find( { $or : [ { a : 1 } , { b : 2 } ] } )
With another field
db, { b , $or : [ { a : 1 } .foo,中给出的例子如下
Simple:
db; .foo在mongodb中有$or 操作符的
Ⅲ 谁有 java 读取mongodb文件的实例或者相关内容链接。
1:jsp页面:
[html]view plain
<td><imgsrc="${ctx}/mongoImg/show"></td>
[html]view plain
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<mongo:mongohost="${resource.db.host}"port="${resource.db.port}"/>
<mongo:db-factoryid="mongoDbFactory"dbname="gate"mongo-ref="mongo"/>
<beanclass="org.springframework.data.mongodb.gridfs.GridFsTemplate">
<constructor-argref="mongoDbFactory"/>
<constructor-argref="converter"/>
</bean>
<mongo:mapping-converterid="converter"/>
</beans>
[java]view plain
packagecom.crscic.igms.manager.web;
importjava.io.OutputStream;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.data.mongodb.gridfs.GridFsTemplate;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importcom.mongodb.gridfs.GridFSDBFile;
@Controller
@RequestMapping(value="/mongoImg")
publicclassMongoImgController{
@Autowired
GridFsTemplategridFsTemplate;
@RequestMapping(value="/show")
publicvoidshow(HttpServletRequestreq,HttpServletResponseresp){
try{
OutputStreamout=resp.getOutputStream();
resp.setContentType("image/png");
List<GridFSDBFile>find=gridFsTemplate.find(null);
GridFSDBFilegridFSDBFile=find.get(0);
gridFSDBFile.writeTo(out);
out.flush();
out.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
Ⅳ 怎么从mongodb读取数据java
从Mongodb读取数据,这个和从RDS关系型数据库读取数据原理应该是一样的;
简单的可以通过Spring提供的MongoTemplate去实现这个功能;
举个例子,查找某一条记录:
publicTfindOne(Criteriacriteria,Sortsort,String[]fields){
DBObjectfd=fields2DBObject(fields);
Queryquery=newBasicQuery(newBasicDBObject(),fd);
query.addCriteria(criteria);
if(sort!=null)
query.with(sort);
returnthis.mongoTemplate.findOne(query,entityClass);
}
/**
*如果是隐藏则首个元素为'$exclude'字符串
*
*@paramfields
*@return
*/
(String[]fields){
DBObjectresult=newBasicDBObject();
if(fields!=null){
intvisible=fields[0].equalsIgnoreCase("$exclude")?0:1;
intstart=visible==0?1:0;
for(inti=start;i<fields.length;i++)
result.put(fields[i],visible);
}
returnresult;
}
Ⅳ 关于mongoDB的$or 怎么用java实现
public static void selectAll() throws Exception{
//第一:实例化mongo对象,连接mongodb服务器 包含所有的数据库
//默认构造方法,默认是连接本机,端口号,默认是27017
//相当于Mongo mongo =new Mongo("localhost",27017)
Mongo mongo =new Mongo();
//第二:连接具体的数据库
//其中参数是具体数据库的名称,若服务器中不存在,会自动创建
DB db=mongo.getDB("myMongo");
//第三:操作具体的表
//在mongodb中没有表的概念,而是指集合
//其中参数是数据库中表,若不存在,会自动创建
DBCollection collection=db.getCollection("user");
BasicDBList condList = new BasicDBList();
BasicDBObject cond = null;
String ageStr = "function (){return parseFloat(this.id) > 2 && parseFloat(this.id) <= 4};";
cond = new BasicDBObject();
cond.put("$where",ageStr);
Pattern pattern = Pattern.compile("^.*明.*$", Pattern.CASE_INSENSITIVE);
BasicDBObject query =new BasicDBObject();
query.put("name", pattern);
condList.add(query);
condList.add(cond);
BasicDBObject searchCond = new BasicDBObject();
searchCond.put("$or", condList);
//查询操作
DBCursor cursor=collection.find(searchCond);
System.out.println("mongodb中的user表结果如下:");
while(cursor.hasNext()){
System.out.println(cursor.next());
}
}
Ⅵ 如何用Java操作MongoDB
HelloWorld程序
学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序。
首先,要通过Java操作Mongodb,必须先下载Mongodb的Java驱动程序,可以在这里下载。
新建立一个Java工程,将下载的驱动程序放在库文件路径下,程序代码如下:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importcom.mongodb.BasicDBObject;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java+MongoDBHelloworldExample
*
*/
publicclassApp{
publicstaticvoidmain(String[]args){
try{
//实例化Mongo对象,连接27017端口
Mongomongo=newMongo("localhost",27017);
//连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立
DBdb=mongo.getDB("yourdb");
//GetcollectionfromMongoDB,databasenamed"yourDB"
//从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立
DBCollectioncollection=db.getCollection("yourCollection");
//使用BasicDBObject对象创建一个mongodb的document,并给予赋值。
BasicDBObjectdocument=newBasicDBObject();
document.put("id",1001);
document.put("msg","helloworldmongoDBinJava");
//将新建立的document保存到collection中去
collection.insert(document);
//创建要查询的document
BasicDBObjectsearchQuery=newBasicDBObject();
searchQuery.put("id",1001);
//使用collection的find方法查找document
DBCursorcursor=collection.find(searchQuery);
//循环输出结果
while(cursor.hasNext()){
System.out.println(cursor.next());
}
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}
最后,输出的结果为:
{"_id":{"$oid":"4dbe5596dceace565d229dc3"},
"id":1001,"msg":"helloworldmongoDBinJava"}
Done
在上面的例子中,演示了使用Java对Mongodb操作的重要方法和步骤,首先通过创建Mongodb对象,传入构造函数的参数是Mongodb的数据库所在地址和端口,然后使用
getDB方法获得要连接的数据库名,使用getCollection获得数据集合的名,然后通过新建立BasicDBObject对象去建立document,最后通过collection的insert方法,将建立的document保存到数据库中去。而collection的find方法,则是用来在数据库中查找document。
从Mongodb中获得collection数据集
在Mongodb中,可以通过如下方法获得数据库中的collection:
DBCollectioncollection=db.getCollection("yourCollection");
如果你不知道collection的名称,可以使用db.getCollectionNames()获得集合,然后再遍历,如下:
DBdb=mongo.getDB("yourdb");
Setcollections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}
完成的一个例子如下:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.Set;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java:GetcollectionfromMongoDB
*
*/
publicclassGetCollectionApp{
publicstaticvoidmain(String[]args){
try{
Mongomongo=newMongo("localhost",27017);
DBdb=mongo.getDB("yourdb");
Set<String>collections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}
DBCollectioncollection=db.getCollection("yourCollection");
System.out.println(collection.toString());
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}
Mongodb中如何插入数据
下面,讲解下如何使用4种方式,将JSON数据插入到Mongodb中去。首先我们准备JSON
格式的数据,如下:
{
"database":"mkyongDB",
"table":"hosting",
"detail":
{
records:99,
index:"vps_index1",
active:"true"
}
}
}
我们希望用不同的方式,通过JAVA代码向Mongodb插入以上格式的JSON数据
第一种方法,是使用BasicDBObject,方法如下代码所示:
BasicDBObjectdocument=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObjectdocumentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail",documentDetail);
collection.insert(document);
第二种方法是使用BasicDBObjectBuilder对象,如下代码所示:
=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
Detail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail",documentBuilderDetail.get());
collection.insert(documentBuilder.get());
第三种方法是使用Map对象,代码如下:
MapdocumentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
MapdocumentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail",documentMapDetail);
collection.insert(newBasicDBObject(documentMap));
第四种方法,也就是最简单的,即直接插入JSON格式数据
String json="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject=(DBObject)JSON.parse(json);
collection.insert(dbObject);
这里使用了JSON的parse方法,将解析后的JSON字符串转变为DBObject对象后再直接插入到collection中去。
完整的代码如下所示:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.HashMap;
importjava.util.Map;
importcom.mongodb.BasicDBObject;
importcom.mongodb.BasicDBObjectBuilder;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.DBObject;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
importcom.mongodb.util.JSON;
/**
* Java MongoDB : Insert a Document
*
*/
publicclass InsertDocumentApp {
publicstaticvoid main(String[] args){
try{
Mongo mongo=newMongo("localhost",27017);
DB db=mongo.getDB("yourdb");
//get a single collection
DBCollection collection=db.getCollection("mmyColl");
//BasicDBObject example
System.out.println("BasicDBObject example...");
BasicDBObject document=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObject documentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail", documentDetail);
collection.insert(document);
DBCursor cursorDoc=collection.find();
while(cursorDoc.hasNext()){
System.out.println(cursorDoc.next());
}
collection.remove(newBasicDBObject());
//BasicDBObjectBuilder example
System.out.println("BasicDBObjectBuilder example...");
BasicDBObjectBuilder documentBuilder=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
BasicDBObjectBuilder documentBuilderDetail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail", documentBuilderDetail.get());
collection.insert(documentBuilder.get());
DBCursor cursorDocBuilder=collection.find();
while(cursorDocBuilder.hasNext()){
System.out.println(cursorDocBuilder.next());
}
collection.remove(newBasicDBObject());
//Map example
System.out.println("Map example...");
Map documentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
Map documentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail", documentMapDetail);
collection.insert(newBasicDBObject(documentMap));
DBCursor cursorDocMap=collection.find();
while(cursorDocMap.hasNext()){
System.out.println(cursorDocMap.next());
}
collection.remove(newBasicDBObject());
//JSON parse example
System.out.println("JSON parse example...");
String json="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject=(DBObject)JSON.parse(json);
collection.insert(dbObject);
DBCursor cursorDocJSON=collection.find();
while(cursorDocJSON.hasNext()){
System.out.println(cursorDocJSON.next());
}
collection.remove(newBasicDBObject());
}catch(UnknownHostException e){
e.printStackTrace();
}catch(MongoException e){
e.printStackTrace();
}
}
}
Ⅶ java 什么使用mongodb
先下载好驱动
importjava.net.UnknownHostException;
importcom.mongodb.BasicDBObject;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java+MongoDBHelloworldExample
*/
publicclassMongoDBFirstApp{
publicstaticvoidmain(String[]args)throwsUnknownHostException,MongoException{
//实例化Mongo对象,连接27017端口
Mongomongo=newMongo("localhost",27017);
//连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立
DBdb=mongo.getDB("yourdb");//GetcollectionfromMongoDB,databasenamed"yourDB"
//从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立
DBCollectioncollection=db.getCollection("yourCollection");
//使用BasicDBObject对象创建一个mongodb的document,并给予赋值。
BasicDBObjectdocument=newBasicDBObject();
document.put("id",1001);
document.put("msg","helloworldmongoDBinJava");
//将新建立的document保存到collection中去
collection.insert(document);
//创建要查询的document
BasicDBObjectsearchQuery=newBasicDBObject();
searchQuery.put("id",1001);
//使用collection的find方法查找document
DBCursorcursor=collection.find(searchQuery);
//循环输出结果
while(cursor.hasNext()){
System.out.println(cursor.next());
}
System.out.println("Done");
}
}
Ⅷ 浅谈如何用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(); } } } 结果如下: