java - 如何在 Java/Groovy 中测试 MongoDB 过滤器 (BSON) 的相等性?

标签 java mongodb unit-testing groovy spock

我正在使用 Filters-API 生成 MongoDB 查询.

Bson r1 = Filters.and(Filters.eq("a","b"), Filters.eq("c","d"))
Bson r2 = Filters.and(Filters.eq("a","b"), Filters.eq("c","d"))

但是我如何检查结果是否相等?例如:

r1.equals(r2)

r1.dump().equals(r2.dump())

不起作用。

最佳答案

你可以做的一件事是:

  • 将 Bson 转换为 BsonDocument
  • 比较 JSON 字符串

这是我在上面找到的 https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/mongodb-user/peeL8wIWxwA/ZHpYglQEDQAJ

BsonDocument b1 = r1.toBsonDocument(BsonDocument.class, MongoClient.DEFAULT_CODEC_REGISTRY);
BsonDocument b2 = r2.toBsonDocument(BsonDocument.class, MongoClient.DEFAULT_CODEC_REGISTRY); 

关于java - 如何在 Java/Groovy 中测试 MongoDB 过滤器 (BSON) 的相等性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36836376/

相关文章:

python - 如何在mongodb聚合中对嵌套字段进行分组

perl - 我如何在 Perl 中进行单元测试?

javascript - Zombie.js错误: Timeout: did not get to load all resources on this page

java - Android:如何在表单中强制执行最小值

java - 从 Android Processing Sketch 保存图像

javascript - 将 mongodb 对象转换为 javascript 对象

unit-testing - 在测试驱动开发中重构时添加测试

java - Android弹出菜单填充父级

java - MouseMotion 传感器方法调用

python - Pymongo insert_many BulkWriteError