java如何使用mongodb shell命令

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

@Autowired
 MongoConverter mongoConverter;mongodb

@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  shell

相关文章
相关标签/搜索