`

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);
分享到:
评论
3 楼 horizonhyg 2011-11-09  
可靠,DBObject如何批量插入呢,一直提示nullpointer
2 楼 horizonhyg 2011-11-09  
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); 

可靠么,没这么方法啊
1 楼 windspy 2010-11-12  
多谢!

相关推荐

    java MongoDB查询数据导出为excel表格

    1.java连接mongo数据库查询统计信息导出为excel表格 2.所有连接参数都可以动态输入,参数包括:ip、端口、数据库名称、集合名称、查询参数(公众号,写在指定文件中),导出表格存放位置

    java mongodb orm 实现-基于mongodb-driver开发的ORM.pdf

    MongoDB的ORM(Object-Relational Mapping)框架使得Java开发者能够更方便地将数据模型与数据库交互,而无需关注底层的MongoDB API细节。在本文中,我们将讨论如何基于`mongodb-driver`开发一个简单的ORM实现,以...

    java+MongoDB实现存图片、下载图片的方法示例

    "java+MongoDB实现存图片、下载图片的方法示例" 本文主要介绍了使用java和MongoDB实现存图片和下载图片的方法,并结合实例形式详细分析了java结合MongoDB实现图片的存储和下载相关操作技巧。 Java和MongoDB简介 ...

    jdbc java mongodb mysql 相互同步

    本文将深入探讨如何使用Java的JDBC(Java Database Connectivity)接口与MongoDB、MySQL数据库进行数据交互,并实现相互之间的数据同步。 首先,我们需要理解JDBC,它是Java语言访问数据库的标准API,能够连接并...

    java+mongodb+分页

    在Java开发中,MongoDB是一种常用的NoSQL数据库,它以其灵活性、高性能和易于扩展性而受到欢迎。本篇文章将深入探讨如何使用Java与MongoDB进行数据分页查询,结合源码分析工具,帮助开发者更好地理解和应用这一技术...

    java 操作mongodb 增删改查

    在Java编程环境中,MongoDB是一个广泛使用的文档型数据库,它以JSON格式存储数据,提供了高性能、高可用性和可扩展性。本教程将详细介绍如何使用Java进行MongoDB的基本操作,包括增(添加数据)、删(删除数据)、改...

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

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

    MongoDB Java获取集合.pdf

    Java 是广泛使用的编程语言,MongoDB 提供了 Java 驱动程序,使得开发者可以轻松地在 Java 应用程序中操作 MongoDB 数据库。在本文中,我们将详细探讨如何使用 Java MongoDB 驱动程序来获取集合。 首先,我们需要...

    java操作mongodb存储文件实例

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

    java mongodb驱动

    java mongodb驱动java mongodb驱动java mongodb驱动

    Mongodb连接池for java

    1. MongoDB Java驱动程序:这是与MongoDB通信的基础,通常包括`mongodb-driver-sync`和`mongodb-driver-core`两个依赖库。 2. 连接池实现:可能是第三方库,如HikariCP或Apache DBCP2,它们提供了连接池的实现,可以...

    java MongoDB上传下载(图片,txt等大文件)

    由于MongoDB的版本3.3之后,原来的GridFS的getDB()已经被废除了,所以自己花费了梁哥小时,写了GridFSBucket的方法,试下按照文件名和ObjectID的下载方法!希望对你们有用!

    Java连接mongoDB需要的jar包

    在Java编程环境中,连接MongoDB数据库通常需要特定的驱动程序,这些驱动程序以JAR(Java Archive)文件的形式提供。MongoDB官方提供了Java驱动程序,使得开发者能够方便地在Java应用中集成MongoDB功能。本篇文章将...

    MongoDBjava各版本驱动下载

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

    mongo-java-driver-3.4.3,java连接mongodb的jar包驱动包

    mongo-java-driver-3.4.3.jar 是 MongoDB 官方为 Java 开发者提供的 Java 驱动程序的一个特定版本(3.4.3)。这个 JAR 文件包含了与 MongoDB 数据库进行交互所需的类和接口,允许 Java 应用程序连接到 MongoDB 实例...

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

    这里提到的"Java连接mongoDB需要的jar包(3.9.1)"是指Java开发者用于连接MongoDB数据库的一组关键库文件,包括`bson-3.9.1.jar`、`mongodb-driver-3.9.1.jar`和`mongodb-driver-core-3.9.1.jar`。这些JAR文件是...

    通过java向mongodb中插入数据

    【标题】: "Java操作MongoDB插入数据指南" 【描述】: 本指南将详细介绍如何在Linux环境下安装MongoDB,并通过Java进行数据插入操作。我们将涵盖MongoDB的Linux安装、MongoVUE客户端的使用以及Java API与MongoDB的...

    Java MongoDB 增删改查Demo程序

    在本文中,我们将深入探讨如何使用Java来与MongoDB数据库进行交互,主要涵盖增、删、改、查(CRUD)等基本操作。MongoDB是一个流行的NoSQL数据库系统,以其灵活性、高性能和易于扩展性而受到开发者的青睐。Java作为...

    JAVA mongodb 聚合几种查询方式详解

    JAVA mongodb 聚合查询方式详解 聚合查询是 MongoDB 中的一种强大查询方式,通过对数据进行分组、过滤、排序等操作,可以快速地获取所需的数据。在 JAVA 中使用 MongoDB 时,通常使用 Spring Data MongoDB 框架来...

Global site tag (gtag.js) - Google Analytics