java如何使用mongodb shell命令

 ̄綄美尐妖づ 提交于 2020-10-30 20:41:42

最近工作使用了mongodb数据库,一开始使用spring 中的 MongoTemplate api 来查询,发现很不直观,比较费劲,就想能否直接调用shell 命令。网上查了下,完整的例子很少,有的例子可能是版本不同不能使用。于是,参考网上资料,经过1小时的尝试,得出可行方法,直接上代码吧。
 

@Autowired
 MongoConverter mongoConverter;

@Test
public void mgTest(){
String a = "[ { \"$match\" : { \"content.userEvent\" : \"visited\"}} , { \"$group\" : { \"_id\" : \"$header.visit_bid\"}} , { \"$group\" : { \"_id\" : \"$_id.header.visit_bid\" , \"count\" : { \"$sum\" : 1}}}]";
        JSONArray ja = JSON.parseArray(a);
        List<Bson> bsonList = new ArrayList<>();
        for(int i=0;i<ja.size();i++){
            bsonList.add(BsonDocument.parse(ja.get(i).toString()));
        }
        List<MgCountComBO> resultList = new ArrayList<>();
        mongoTemplate.getCollection("BEHAVIOR_LOG")
                .aggregate(bsonList,Document.class).map((val)->{
            MgCountComBO mgCountComBO = mongoConverter.read(MgCountComBO.class,val);
            return mgCountComBO;
        }).into(resultList);
        System.out.println(JSON.toJSONString(resultList));
        }

关键是 MongoConverter mongoConverter  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!