MongoDB的CRUD操作(java Util )

1、保存插入操作:

public static synchronized String insert(DBObject record) {
        DBCollection col = MongoDB.getDBCollection(TABLE_NAME);
        record.put("time", new Date().getTime());
        WriteResult result = col.insert(record);
        //当前插入表的_id
        return record.get("_id").toString();
   }

注意:col.insert(record)执行成功后 record可以获取_id 可以通过 record.get("_id")是否为空判断保存是否为空!

2、更新编辑操作:

public static synchronized int edit(DBObject record) {
        DBCollection col = MongoDB.getDBCollection(TABLE_NAME);
        // 检查是否有对应的obj_id存在
        BasicDBObject queryObj = new BasicDBObject();
        queryObj.put("_id", record.get("_id"));
        DBCursor dc = col.find(queryObj);
        if (dc.count() < 1) {
            return NO_RECORD_EXIST;
        }
        // 保存数据
        record.removeField("_id");
        WriteResult result = col.update(queryObj, new BasicDBObject("$set", record));
        return result.getN();
    }

注意:在更新数据前要将被更新的数据中_id移除掉 否则报错,queryObj是更新的查询条件,record是更新的记录,record中不能包含_id...

3、删除操作:

public static synchronized int del(DBObject record, OlaCloudContent olaCloudContent) {
        DBCollection col = MongoDB.getDBCollection(TABLE_NAME);
        // 检查是否有对应的obj_id存在
        DBCursor dc = col.find(record);
        if (dc.count() < 1) {
            return NO_RECORD_EXIST;
        }// 删除数据
        WriteResult result = col.remove(record);
        OpLog.AddOpLog(olaCloudContent.getUserName(), TABLE_NAME, "del_key", record.toString());
        return result.getN();
    }
    

4、查询操作:

public static synchronized CorpusAnswerWrap find(DBObject record,DBObject sort,int limit){
        CorpusAnswerWrap answerWrap = new CorpusAnswerWrap();
        List<AnswerEntity> answerList = new ArrayList<AnswerEntity>();
        DBCollection col = MongoDB.getDBCollection(TABLE_NAME);
        DBCursor dc = col.find(record).sort(sort);
        if(limit > 0){
            dc.limit(limit);
        }
        answerWrap.setTotalCount(dc.count());
        while(dc.hasNext()){
            AnswerEntity entity = answerWrap.new AnswerEntity();
            entity.setRecord(dc.next());
            answerList.add(entity);
        }
        answerWrap.setDatas(answerList.toArray(new AnswerEntity[answerList.size()]));
        return answerWrap;
    }
时间: 2024-10-11 10:18:30

MongoDB的CRUD操作(java Util )的相关文章

Ruby操作MongoDB(进阶)-CRUD操作

MongDB数据库的使用离不开CRUD操作.什么是CRUD,就是创建文档,读取文档信息,更新文档和删除文档. key-value键值对标记 在MongoDB的Ruby驱动中,Key_value键值多次出现.而且有时会出现语法上的巧合,这取决于在使用的Ruby版本中如何申明. 在文档创建步骤中,1.9及之后版本支持以下语法: document={name:"Tom",age:20}. 但是如果你使用的是2.2或者更高的版本,你可以用双引号将你的key包起来.如: document={&q

MongoDB的CRUD操作

1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的增删改查操作,不同于我们熟悉的关系数据库中的操作.在关系数据库中,比如MySQL,我们通常使用SQL语句对数据库进行增(INSERT)删(DELETE)改(UPDATE)查(SELECT).MongoDB在对数据进行操作过程中,使用的是Document进行数据操作.在对数据库进行操作的时候,使用Do

MongoDB对图片进行CRUD操作——与JAVA结合

上几篇博客简单对MongoDB进行了简单介绍和如何安装,以及在dos下是如何操作MongoDB和在安装MongoDB中,出现了什么错误,是如何解决的.当然这些都还不够,我们还要用到实际当中去.我用MyEclipse+JDK1.7做了一个简单的demo,来展示下MongoDB怎么运用到实际中去. MongoDB作为一个NoSql数据库的代表,存取多媒体数据,应该是强项吧?那么,在MongoDB中是如何对图片进行CRUD操作的. 上几篇博客中已经提到,MongoDB的文档结构是BSON格式,BSON

【翻译】MongoDB指南/CRUD操作(三)

[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近性,分布式查询(Distributed Queries),分布式写操作,模拟两阶段任务提交,在副本集中执行配额读取 1 原子性和事务(Atomicity and Transactions) 在MongoDB中,写操作在单文档级别具有原子性,即使修改一个文档中的多个嵌入式文档也是如此. 当一个写操作修

【翻译】MongoDB指南/CRUD操作(二)

[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关注),写确认(写关注) 1 更新文档 1.1 更新 MongoDB提供下列方法用于更新一个集合 db.collection.updateOne() 更新使用指定过滤器匹配到的文档,即使过滤器匹配到多个文档,也只会更新一个文档. 3.2版本新增特性. db.collection.updateMany(

【翻译】MongoDB指南/CRUD操作(一)

[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删除文档. 创建操作 执行创建或者插入操作可向集合中添加文档.如果集合不存在,插入操作会创建此集合. MongoDB提供下列方法向集合中插入文档: db.collection.insert() db.collection.insertOne()  3.2版本新增 db.collection.inser

list删除操作 java.util.ConcurrentModificationException

首先大家先看一段代码: public static void main(String[] args) { List<String> listStr = new ArrayList<String>();      listStr.add("1");      listStr.add("2");      listStr.add("3");      listStr.add("4");      listS

Java中数组操作 java.util.Arrays 类常用方法的使用

任何一门编程语言,数组都是最重要和常用的数据结构之一,但不同的语言对数组的构造与处理是不尽相同的. Java中提供了java.util.Arrays 类能方便地操作数组,并且它提供的所有方法都是静态的.下面介绍一下Arrays类最常用的几个方法. 1.  数组排序 Arrays工具类提供了一个sort方法,只需要一行代码即可完成排序功能. 2.  数组转换为字符串 Arrays提供了一个toString方法,可以直接把一个数组转换为字符串,这样可以方便观察数组里的元素. //来源:公众号[时光与

mongodb的CRUD操作三

聚合操作 count()统计行数 计算总计 sum aggregate是聚合的操作符,然后分组,然后再sum