mongo Dao层 增删改查方法

//比如调用的时 调用MongoOpt.findOne(db,xxx)


public class MongoOpt {


    public static boolean findTorF(DB db, String collName, DBObject query) {
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return false;
        }
        DBCollection coll = db.getCollection(collName);
        DBCursor cursor = coll.find(query);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                return false;
            }
            cursor.close();
            return true;
        }
        return false;
    }

    public static DBObject findOne(DB db, String collName, DBObject query) {
        DBObject obj = null;

        if (db == null || collName == null || collName.trim().isEmpty()) {
            return obj;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            obj = doc;
            break;
        }
        cursor.close();

        return obj;
    }

    public static DBObject findOne(DB db, String collName, DBObject query, DBObject sort) {
        DBObject obj = null;

        if (db == null || collName == null || collName.trim().isEmpty()) {
            return obj;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query).sort(sort);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            obj = doc;
            break;
        }
        cursor.close();

        return obj;
    }

    public static List<DBObject> find(DB db, String collName, DBObject query, DBObject sort) {

        List<DBObject> docList = new ArrayList<DBObject>();
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return docList;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query).sort(sort);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            docList.add(doc);
        }
        cursor.close();

        return docList;
    }

    public static List<DBObject> find(DB db, String collName, DBObject query, DBObject sort, int nLimit) {

        List<DBObject> docList = new ArrayList<DBObject>();
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return docList;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query).sort(sort).limit(nLimit);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            docList.add(doc);
        }
        cursor.close();

        return docList;
    }

    public static List<DBObject> find(DB db, String collName, DBObject query, DBObject sort, int nSkip, int nLimit) {

        List<DBObject> docList = new ArrayList<DBObject>();
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return docList;
        }

        DBCollection coll = db.getCollection(collName);

        DBCursor cursor = coll.find(query).sort(sort).skip(nSkip).limit(nLimit);
        cursor.addOption(Bytes.QUERYOPTION_NOTIMEOUT);

        while (cursor.hasNext()) {
            DBObject doc = cursor.next();
            if (doc == null) {
                continue;
            }

            docList.add(doc);
        }
        cursor.close();

        return docList;
    }

    public static boolean insert(DB db, String collName, DBObject docParam) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        WriteResult wr = coll.insert(docParam);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

    public static boolean insertMulti(DB db, String collName, List<DBObject> docListParam) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        WriteResult wr = coll.insert(docListParam);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

    public static boolean update(DB db, String collName, DBObject query, DBObject docParam) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        DBObject object = new BasicDBObject();
        object.put("$set", docParam);

        WriteResult wr = coll.update(query, object);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

    public static boolean updateMulti(DB db, String collName, DBObject query, DBObject docParam) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        DBObject object = new BasicDBObject();
        object.put("$set", docParam);

        WriteResult wr = coll.updateMulti(query, object);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

    public static boolean delete(DB db, String collName, DBObject query) {
        boolean b = false;
        if (db == null || collName == null || collName.trim().isEmpty()) {
            return b;
        }

        DBCollection coll = db.getCollection(collName);

        WriteResult wr = coll.remove(query);

        if (wr.getLastError().getDouble("ok") > 0) {
            b = true;
        }

        return b;
    }

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值