Bson pretty print using Java MongoDb driver

后端 未结 3 1916
暗喜
暗喜 2021-01-06 11:52

I am using the Mongo Aggregation Framework using the Java MongoDB driver, version 3.3. I have an aggregagtion pipeline, that is merely collection of type List

3条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2021-01-06 12:20

    For mongodb-java API 3.4, the constant MongoClient.DEFAULT_CODEC_REGISTRY is no more accessible directly, it's a private member. There is a static method CodecRegistry getDefaultCodecRegistry() which returns the same constant.

    Another point, BsonDocument.toString() internally does a toJson() with default JsonWriterSettings. In order to see the Shell equivalent of Query, use it like below:

    public void logQuery(Bson filter) {
        if (LOGGER.isDebugEnabled()) {
    
            LOGGER.debug(
                    "filter query: " + filter.toBsonDocument(BsonDocument.class, MongoClient.getDefaultCodecRegistry())
                            .toJson(new JsonWriterSettings(JsonMode.SHELL)));
        }
    }
    

提交回复
热议问题