`

[mongodb] java操作mongodb

 
阅读更多

package com.ooooo.mongo;

 

import java.net.UnknownHostException;

import java.util.Set;

 

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import org.junit.Test;

 

import com.mongodb.BasicDBObject;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.DBCursor;

import com.mongodb.MongoClient;

import com.mongodb.MongoException;

 

public class JavaMongoDBTest {

 

/**

* Java + MongoDB Hello world Example

*/

 

   public static void main(String[] args) {

       try {

           //实例化Mongo对象,连接27017端口

       MongoClient mongo = new MongoClient("localhost", 27017);

                              //连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立

           DB db = mongo.getDB("ytn-db");

           // Get collection from MongoDB, database named "yourDB"

//从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立

           DBCollection collection = db.getCollection("yourCollection");

   // 使用BasicDBObject对象创建一个mongodb的document,并给予赋值。

           BasicDBObject document = new BasicDBObject();

           document.put("id", 1002);

           document.put("msg", "hello world mongoDB in Java---ytan");

           document.put("msg23", "hello world mongoDB in Java---yian--002");

           document.put("msg23111", "hello world mongoDB in Java---yun--002");

 

           //将新建立的document保存到collection中去

           collection.insert(document);

           // 创建要查询的document

           BasicDBObject searchQuery = new BasicDBObject();

           searchQuery.put("id", 1002);

           // 使用collection的find方法查找document

           DBCursor cursor = collection.find(searchQuery);

           //循环输出结果

           while (cursor.hasNext()) {

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

 

           

           }

           System.out.println("Done"); 

       } catch (UnknownHostException e) {

           e.printStackTrace();

       } catch (MongoException e) {

           e.printStackTrace();

       }

   }

   

   

   

   @Test

   public void testcase01_MongoDB2json() throws Exception {

   

        //实例化Mongo对象,连接27017端口

        MongoClient mongo = new MongoClient("localhost", 27017);

                               //连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立

            for (String s : mongo.getDatabaseNames()) { 

            System.out.println(s); 

            } 

       

        DB db = mongo.getDB("ynt-db");

        

            

            Set<String> collections = db.getCollectionNames();

          for(String collectionName:collections){

          System.out.println(collectionName);

          }

          

            // Get collection from MongoDB, database named "yourDB"

            //从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立

            DBCollection collection = db.getCollection("yourCollection");

            

     BasicDBObject searchQuery = new BasicDBObject();

           searchQuery.put("id", 1002);

           // 使用collection的find方法查找document

           DBCursor cursor = collection.find(searchQuery);

           

   

   

   JSONObject  dataJson=new JSONObject(String.valueOf(cursor.next()));

System.out.println(dataJson);

   

//JSONObject  response=dataJson.getJSONObject("msg");

//JSONArray data=response.getJSONArray("data");

//JSONObject info=data.getJSONObject(0);

String province=dataJson.getString("msg");

String city=dataJson.getString("id");

String district=dataJson.getString("_id");

System.out.println(province+city+district);

 

 

   }

}

 

 

 

[mongodb]java操作mongodb

博客分类:
使用mongoDB需要导入以下类,当然不是全部需要,用到的类就导入。 
import com.mongodb.Mongo; 
import com.mongodb.DB; 
import com.mongodb.DBCollection; 
import com.mongodb.BasicDBObject; 
import com.mongodb.DBObject; 
import com.mongodb.DBCursor; 
import com.mongodb.ObjectId; 

类转换 
当把一个类对象存到mongoDB后,从mongoDB取出来时使用setObjectClass()将其转换回原来的类。 
public class Tweet implements DBObject { 
    /* ... */ 

Tweet myTweet = new Tweet(); 
myTweet.put("user", "bruce"); 
myTweet.put("message", "fun"); 
myTweet.put("date", new Date()); 
collection.insert(myTweet); 
//转换 
collection.setObjectClass(Tweet); 
Tweet myTweet = (Tweet)collection.findOne(); 

默认ID 
当保存的对象没有设置ID时,mongoDB会默认给该条记录设置一个ID("_id")。 
当然你也可以设置自己指定的ID,如:(在mongoDB中执行用db.users.save({_id:1,name:'bruce'});) 
BasicDBObject bo = new BasicDBObject(); 
bo.put('_id', 1); 
bo.put('name', 'bruce'); 
collection.insert(bo); 

权限 
判断是否有mongoDB的访问权限,有就返回true,否则返回false。 
boolean auth = db.authenticate(myUserName, myPassword); 

查看mongoDB数据库列表 
Mongo m = new Mongo(); 
for (String s : m.getDatabaseNames()) { 
System.out.println(s); 



查看当前库下所有的表名,等于在mongoDB中执行show tables; 
Set<String> colls = db.getCollectionNames(); 
for (String s : colls) { 
System.out.println(s); 


查看一个表的索引 
List<DBObject> list = coll.getIndexInfo(); 
for (DBObject o : list) { 
System.out.println(o); 


删除一个数据库 
Mongo m = new Mongo(); 
m.dropDatabase("myDatabaseName"); 

建立mongoDB的链接 
Mongo m = new Mongo("localhost", 27017); 
DB db = m.getDB("myDatabaseName"); //相当于库名 
DBCollection coll = db.getCollection("myUsersTable");//相当于表名 

#查询数据 
查询第一条记录 
DBObject firstDoc = coll.findOne(); 
findOne()返回一个记录,而find()返回的是DBCursor游标对象。 

查询全部数据 
DBCursor cur = coll.find(); 
while(cur.hasNext()) { 
System.out.println(cur.next()); 


查询记录数量 
coll.find().count(); 
coll.find(new BasicDBObject("age", 26)).count(); 

设置条件查询 
BasicDBObject condition = new BasicDBObject(); 
condition.put("name", "bruce"); 
condition.put("age", 26); 
coll.find(condition); 

查询部分数据块 
DBCursor cursor = coll.find().skip(0).limit(10); 
while(cursor.hasNext()) { 
System.out.println(cursor.next()); 


比较查询(age > 50) 
BasicDBObject condition = new BasicDBObject(); 
condition.put("age", new BasicDBObject("$gt", 50)); 
coll.find(condition); 
比较符 
"$gt": 大于 
"$gte":大于等于 
"$lt": 小于 
"$lte":小于等于 
"$in": 包含 
//以下条件查询20<age<=30 
condition.put("age", new BasicDBObject("$gt", 20).append("$lte", 30)); 

#插入数据 
批量插入 
List datas = new ArrayList(); 
for (int i=0; i < 100; i++) { 
BasicDBObject bo = new BasicDBObject(); 
bo.put("name", "bruce"); 
bo.append("age", i); 
datas.add(bo); 

coll.insert(datas); 

正则表达式 
查询所有名字匹配 /joh?n/i 的记录 
Pattern pattern = Pattern.compile("joh?n", CASE_INSENSITIVE); 
BasicDBObject query = new BasicDBObject("name", pattern); 
DBCursor cursor = coll.find(query);
分享到:
评论

相关推荐

    MongoDBjava各版本驱动下载

    MongoDB Java驱动是Java开发者与MongoDB数据库交互的重要工具,它允许Java应用程序通过标准的Java API来执行查询、插入、更新和删除等操作。在Java中使用MongoDB,首先需要安装并配置对应的驱动版本,以确保与正在...

    MongoDB Java Driver 简单操作

    ### MongoDB Java Driver 简单操作详解 #### 一、简介 MongoDB 是一款非常流行的文档型数据库系统,因其灵活性和高性能而被广泛应用于多种场景之中。为了方便开发者使用 Java 进行开发,MongoDB 提供了官方的 Java ...

    MongoDB Java操作大全 源代码 实例

    本资料包“MongoDB Java操作大全 源代码 实例”将深入探讨如何使用Java API进行MongoDB的操作。 1. **连接MongoDB** 在Java中,首先需要通过`MongoClient`类建立到MongoDB服务器的连接。例如: ```java ...

    mongodb java简单demo

    本篇将详细介绍如何使用Java连接MongoDB,以及进行基本的数据操作:创建集合、添加文档、修改文档、查询文档和删除文档。 首先,为了连接MongoDB,我们需要引入MongoDB的Java驱动程序依赖。在Maven项目中,可以在...

    mongoDB java driver api

    MongoDB是一个高性能、开源、无模式的文档型数据库,而Java驱动API则为Java开发者提供了一个直观且强大的接口来操作MongoDB。 首先,让我们了解一下MongoDB Java驱动API的基本结构和核心概念: 1. **MongoClient**...

    MongoDB Java API 中文

    ### MongoDB Java API 使用详解 #### 一、Java 驱动简介与一致性 MongoDB 的 Java 驱动是...这些知识点涵盖了大部分常见的 MongoDB 应用场景,可以帮助初学者快速上手并熟练掌握如何使用 Java 驱动进行数据库操作。

    mongodb java Driver

    MongoDB Java驱动程序是Java开发者用来与MongoDB数据库进行交互的一种关键工具。它提供了一组丰富的API,使得在Java应用程序中执行CRUD(创建、读取、更新、删除)操作变得简单而高效。MongoDB是一个分布式文档存储...

    java 操作mongodb 增删改查

    本教程将详细介绍如何使用Java进行MongoDB的基本操作,包括增(添加数据)、删(删除数据)、改(修改数据)和查(查询数据)。 首先,你需要在项目中引入MongoDB的Java驱动程序。目前最新的稳定版本是`mongodb-...

    MongoDB 在java中的应用 纯Java操作

    ### MongoDB在Java中的应用 #### 一、MongoDB简介与安装步骤 ...通过上述步骤,我们可以在Java环境中高效地使用MongoDB进行数据管理和操作。这种方式不仅提高了开发效率,还增强了应用程序的性能和可维护性。

    Mongodb + GridFS +Java 操作Mongodb中存储的文件

    在这个Java操作MongoDB中存储的文件实例中,我们将探讨如何利用GridFS API进行文件的存取。 首先,我们需要在Java项目中引入MongoDB的驱动库。目前,Java驱动通常使用的是MongoDB Java Driver,可以在Maven仓库中...

    java连接mongodb测试

    Java连接MongoDB测试是指使用Java语言连接MongoDB数据库,实现增删改查等操作的技术。下面将对Java连接MongoDB测试进行详细的介绍。 准备工作 1. 下载MongoDB对Java支持的驱动包:可以从...

    java操作mongodb存储文件实例

    将一系列图片文件存储到MongoDB中 java操作mongodb存储文件

    mongodb java 驱动支持jar 及其源码

    这个驱动程序允许Java应用程序连接到MongoDB服务器,执行CRUD(创建、读取、更新、删除)操作,进行查询、聚合以及其他高级数据库操作。例如,你可以使用`com.mongodb.client.MongoClients.create()`方法创建一个...

    MongoDB java实现增删改查

    // 执行MongoDB操作 } catch (Exception e) { e.printStackTrace(); } ``` 在`MongonDBDemo`这个项目中,你可以找到这些功能的具体实现,包括如何设置连接配置,如何处理异常,以及可能的优化策略,如使用`...

    java操作mongoDB(CRUD)

    Java操作MongoDB主要涉及到的是Java驱动程序与MongoDB数据库之间的交互,这涵盖了创建连接、执行CRUD(创建、读取、更新、删除)操作等一系列基本的数据库管理任务。MongoDB是一个流行的NoSQL数据库,以其灵活性、高...

    mongodb java driver 2.11

    MongoDB Java Driver 2.11是用于与MongoDB数据库进行交互的Java开发库,它提供了丰富的API,使得Java开发者可以方便地在应用程序中存取和管理MongoDB的数据。MongoDB是一款高性能、分布式、文档型的NoSQL数据库,它...

    mongoDB 操作 java源代码

    Java MongoDB 驱动是连接 Java 应用程序与 MongoDB 数据库的桥梁,它提供了丰富的 API 供开发者进行数据的增删改查以及其他操作。本压缩包包含的是 `mongodb-mongo-java-driver` 的源代码,版本号可能是 e6901ec,这...

    mongodb_java_2.6_API

    MongoDB的Java驱动程序是Java开发者与MongoDB服务器通信的桥梁,它提供了丰富的API,使得在Java应用中执行CRUD(创建、读取、更新、删除)操作变得简单。2.6版本是历史版本,但仍然包含了许多核心功能,如连接管理...

    Java连接mongoDB需要的jar包(3.9.1)

    一旦这些库被正确引入,你可以开始编写Java代码来执行MongoDB操作,例如: ```java import com.mongodb.client.MongoClients; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoDatabase; ...

    windows 64位mongodb安装包+java api文档

    这份文档将详细介绍MongoDB Java驱动的所有类、接口和方法,包括如何连接数据库、操作集合、处理查询结果、事务管理等。它是开发者编写Java代码与MongoDB交互的重要参考资料,通过查阅文档,你可以了解每个API的使用...

Global site tag (gtag.js) - Google Analytics