После перехода на Поиск по месяцам в MongoDB
Я узнал о $ expr из db.customer.find({ "$expr": { "$eq": [{ "$month": "$bday" }, 9] } })
и преобразовал в
db.getCollection('customer').find({
"$and":[{"$expr": { "$eq": [{ "$month": "$bday" }, 9] }},{"firstName":"John"}]
})
, а затем получил код Java, используя
Document.parser("db.getCollection('custoer').find({"$and":[{"$expr": { "$eq": [{ "$month": "$bday" }, 9] }},{"firstName":"John"}]})")
в конце Java-код выглядит как
Filters.and(Arrays.asList(Filters.expr(new Document().append("$in", Arrays.asList(new Document().append("$month", "$bday"),9))),Filters.eq("firstName","John")))