Mongodb底层java驱动框架工具类使用
使用MongoDB需要对文档结构进行合理的设计,以满足某些特定需求。比如随机选取文档,使用skip跳过随机个文档就没有在文档中加个随机键, 然后使用某个随机数对文档进行查询高效,随机键还能添加索引,效率更高。合理选择,合理设计。 import java.net.Unknown
使用MongoDB需要对文档结构进行合理的设计,以满足某些特定需求。比如随机选取文档,使用skip跳过随机个文档就没有在文档中加个随机键,然后使用某个随机数对文档进行查询高效,随机键还能添加索引,效率更高。合理选择,合理设计。
import java.net.UnknownHostException; import java.util.Date; import java.util.List; import com.mongodb.BasicDBList; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.MongoException; import com.nerd.mongo.config.ConfigFactory; /** * MONGOS * @author chenlongquan * */ public class MongoUtil { private final static ThreadLocal<Mongo> mongos = new ThreadLocal<Mongo>(); public static DB getdb(){ return getMongos().getDB(ConfigFactory.getMongoConfig().getDb()); } public static Mongo getMongos() { Mongo mongo = mongos.get(); if (mongo == null) { try { mongo = new Mongo(ConfigFactory.getMongoConfig().getIp(),ConfigFactory.getMongoConfig().getPort()); mongos.set(mongo); } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } } return mongo; } public static void close(){ Mongo mongo = mongos.get(); if(mongo!=null){ mongo.close(); mongos.remove(); } } /** * 获取集合(表) * * @param collection */ public static DBCollection getCollection(String collection) { return getdb().getCollection(collection); } ......................................................
例如:
/** * 插入 * * @param collection * @param o 插入 * */ public static void insert(String collection, DBObject o) { getCollection(collection).insert(o); } /** * 批量插入 * * @param collection * @param list * 插入的列表 */ public void insertBatch(String collection, List<DBObject> list) { if (list == null || list.isEmpty()) { return; } getCollection(collection).insert(list); }
测试用例:
insert("user1", new BasicDBObject().append("name", "admin3").append("type", "2").append("score", 70) .append("level", 2).append("inputTime", new Date().getTime()));
工具类使用:
/** * 删除 * * @param collection * @param q * 查询条件 */ public void delete(String collection, DBObject q) { getCollection(collection).remove(q); } /** * 批量删除 * * @param collection * @param list * 删除条件列表 */ public void deleteBatch(String collection, List<DBObject> list) { if (list == null || list.isEmpty()) { return; } for (int i = 0; i < list.size(); i++) { getCollection(collection).remove(list.get(i)); } } /** * 更新 * * @param collection * @param q * 查询条件 * @param setFields * 更新对象 */ public static void update(String collection, DBObject q, DBObject setFields) { getCollection(collection).updateMulti(q, new BasicDBObject("$set", setFields)); } /** * 查找集合所有对象 * * @param collection */ public static List<DBObject> findAll(String collection) { return getCollection(collection).find().toArray(); } /** * 按顺序查找集合所有对象 * * @param collection * 数据集 * @param orderBy * 排序 */ public static List<DBObject> findAll(String collection, DBObject orderBy) { return getCollection(collection).find().sort(orderBy) .toArray(); } /** * 查找(返回一个对象) * * @param collection * @param q * 查询条件 */ public static DBObject findOne(String collection, DBObject q) { return getCollection(collection).findOne(q); } /** * 查找(返回一个对象) * * @param collection * @param q * 查询条件 * @param fileds * 返回字段 */ public static DBObject findOne(String collection, DBObject q, DBObject fileds) { return getCollection(collection).findOne(q, fileds); } /** * 分页查找集合对象,返回特定字段 * * @param collection * @param q * 查询条件 * @param fileds * 返回字段 * @pageNo 第n页 * @perPageCount 每页记录数 */ public static List<DBObject> findLess(String collection, DBObject q, DBObject fileds, int pageNo, int perPageCount) { return getCollection(collection).find(q, fileds) .skip((pageNo - 1) * perPageCount).limit(perPageCount) .toArray(); }

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

随着数字货币的普及和发展,越来越多的人开始关注和使用数字货币app。这些应用程序为用户提供了便捷的管理和交易数字资产的方式。那么,数字货币app到底是什么软件呢?让我们深入了解,并盘点全球十大数字货币app。

交易所内置量化工具包括:1. Binance(币安):提供Binance Futures量化模块,低手续费,支持AI辅助交易。2. OKX(欧易):支持多账户管理和智能订单路由,提供机构级风控。独立量化策略平台有:3. 3Commas:拖拽式策略生成器,适用于多平台对冲套利。4. Quadency:专业级算法策略库,支持自定义风险阈值。5. Pionex:内置16 预设策略,低交易手续费。垂直领域工具包括:6. Cryptohopper:云端量化平台,支持150 技术指标。7. Bitsgap:

这种开创性的开发将使金融机构能够利用全球认可的ISO20022标准来自动化不同区块链生态系统的银行业务流程。Ease协议是一个企业级区块链平台,旨在通过易用的方式促进广泛采用,今日宣布已成功集成ISO20022消息传递标准,直接将其纳入区块链智能合约。这一开发将使金融机构能够使用全球认可的ISO20022标准,轻松自动化不同区块链生态系统的银行业务流程,该标准正在取代Swift消息传递系统。这些功能将很快在“EaseTestnet”上进行试用。EaseProtocolArchitectDou

推荐的加密货币交易平台包括:1. Binance:全球最大交易量,支持1400 币种,FCA、MAS认证。2. OKX:技术实力强,支持400 币种,香港证监会批准。3. Coinbase:美国最大合规平台,适合新手,SEC和FinCEN监管。4. Kraken:欧洲老牌,ISO 27001认证,持美国MSB及英国FCA牌照。5. Gate.io:币种最全(800 ),低交易费,获多国牌照。6. Huobi Global:老牌平台,提供多种服务,持日本FSA及香港TCSP牌照。7. KuCoin

2025年十大正规虚拟币交易所app排名:1. OKX,2. Binance,3. 火币,4. Coinbase,5. Kraken,6. Bitfinex,7. KuCoin,8. Gemini,9. Bitstamp,10. Poloniex,各自在安全性、用户体验、交易手续费、流动性、币种丰富度、专业工具、合规性、隐私保护、杠杆交易、国际化程度、客户服务等方面表现突出。

下载香港数字货币交易所APP的方法包括:1. 选择合规平台,如OSL、HashKey或Binance HK等;2. 通过官方渠道下载,iOS用户在App Store下载,Android用户通过Google Play或官网下载;3. 注册并验证身份,使用香港手机号或邮箱,上传身份和地址证明;4. 设置安全措施,启用双重身份验证并定期检查账户活动。

数字货币App的前景广阔,具体体现在:1. 技术创新驱动功能升级,通过DeFi与NFT融合及AI与大数据应用提升用户体验;2. 监管合规化趋势,全球框架完善及AML、KYC要求趋严;3. 功能多元化与服务拓展,整合借贷、理财等服务并优化用户体验;4. 用户基数与全球化扩张,预计2025年用户规模突破10亿。

十大虚拟数字币交易所app排行榜:1. Binance,2. OKX,3. Coinbase,4. Kraken,5. Huobi,6. KuCoin,7. Bitfinex,8. Bittrex,9. Gemini,10. Bitstamp,这些平台各具特色,涵盖了高效的交易系统、丰富的交易对、多层次的安全措施、相对低廉的交易费用以及创新产品等优势,满足不同用户的需求。
