final Bson filter = and(in(ROUTEID_KEY, routeIds), or(ne(DELETED_KEY, TRUE), exists(DELETED_KEY, FALSE)));
final FindIterable<Document> doc = someCollection.find(filter);
我对mongodb比较陌生。可以给我解释一下这个过滤条件吗?我认为这意味着所有具有给定' routeIds '的文档以及所有具有 DELETED_KEY 字段值为false的文档以及所有文档其中“ DELETED_KEY ”字段不存在。但是,当我只为以下过滤器运行 find()时,出乎意料的是,我得到了更多的值。
final Bson filter = and(in(ROUTEID_KEY, routeIds));
请说明第一个过滤条件的实际含义。
答案 0 :(得分:0)
我不熟悉Java驱动程序和确切的api,但是我相对确定,这意味着“选择所有文档,其中a)从此列表中选择ROUTEID_KEY值,b)将其DELETED_KEY设置为TRUE或完全没有DELETED_KEY”。
第二部分(or
)减少了返回的数据集,但没有添加。