代码参考如下:
@Service public class MongoService {
/** * MongoDb的操作模板. */ @Autowired private MongoTemplate mongoTemplate;
/** * 执行命令. * * @return */ public String executeCommand(String json) {
CommandResult result = mongoTemplate.executeCommand(json); if (result.ok()) { return CommonUtil.jsonFormatter(result.toString()); } return "执行命令失败:" + result.getErrorMessage(); } }
如“{buildInfo: 1}”就是查看mongodb的版本信息的命令。
以下是一个聚合查询的命令:
{ "aggregate":"agentTicketLog", "pipeline":[ { "$match":{ "duration":{ "$lt":300 } } }, { "$group":{ "_id":"$ipcc", "total":{ "$sum":1 } } }, { "$project":{ "total":1, "_id":0, "ipcc":"$_id" } }, { "$sort":{ "total":-1 } } ] }
查询的命令是find,不过貌似得mongo3.2版本才支持,我这个是2.6的,报错。
支持的命令文档看这个: https://docs.mongodb.com/manual/reference/command/
这样就能动态的执行一些命令了,返回的貌似都是json, 我就简单的输出一下完事,先凑合着。
|