mongodb-query - 如何在 Java 中使用 $month 作为 MongoDB 中逻辑运算符的一部分?
问题描述
我有一个文档{_id: abc, orderdate:(ISO date), quantity:10}
,我正在尝试在 Java 中提出查询,我们在其中搜索给定月份中具有订单的所有文档,quantity
例如> 5
:select * from documents where month(orderdate)=Jan and quantity>5
你能帮我用Java写这个查询吗?
解决方案
我从中了解了 $exprdb.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")))
推荐阅读
- vba - 从 Microsoft 站点获取数据
- vba - 复合 If 语句生成运行时错误
- python-3.x - PIL.UnidentifiedImageError:无法识别图像文件
- oracle - SQL 查询的安全问题
- c++ - 在 C++ 中打印时对齐非 UTF-8 字符
- python - 如何加快 DataFrame 设置?
- laravel - 为什么 DOMPDF 不使用自动换行设置段落样式?
- sql - 将 3 行(两列)组合成列 (6) - 每个用户
- python - 将数据从烧瓶 python 传递到 HTML 表单
- intellij-plugin - 如何通过 FilePath 和 LineNum 在 IDEA 插件中找到代码?