使用 Java MongoDb 驱动程序进行 Bson 漂亮打印

2023-12-13

我正在使用 Mongo 聚合框架,该框架使用 Java MongoDB 驱动程序版本 3.3。我有一个聚合管道,这只是类型的集合List<Bson>。我正在尝试找到一种方法来漂亮地打印管道的每个阶段。

呼叫toString每个元素上的方法是不够的,因为每个阶段都是一个简单实现的实例Bson接口,即SimplePipelineStage。这个愚蠢的类没有任何重写toString method.

管道是使用 mongo java 驱动程序的工厂方法创建的Aggregates类,如下所示:

Aggregates.match(/* ... */)
Aggregates.project(/* ... */)
// And so on...

可以找到Javadochere.

我怎样才能漂亮地打印这样的物体?我确信该类型BasicDbObject有一个聪明的toString实现,但我找不到转换的方法Bson to BasicDbObject.

预先非常感谢。


更努力地谷歌搜索,我找到了一个漂亮打印的解决方案Bson实例。诀窍是将其转换为一个实例BsonDocument,其中有一个实现toString返回相应 JSON 的字符串表示形式的方法。

Bson bson = Filters.gt("a", 10);
BsonDocument bsonDocument = bson.toBsonDocument(BsonDocument.class, MongoClient.DEFAULT_CODEC_REGISTRY);
System.out.println(bsonDocument);

原文链接如下:将 Bson 对象转换为 BsonDocument.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Java MongoDb 驱动程序进行 Bson 漂亮打印 的相关文章

随机推荐