mongodb - 如何使用 java 代码转换 mongodb 查询
问题描述
我是 MongoDB 的新手。我想将此 mongo DB 查询转换为 java 代码。我已经尝试了一点。但我有一个问题。请,如果有人帮助意味着这对我来说将是一个很大的帮助。提前致谢。
db.getCollection('test').aggregate(
[{
$match: {
"ids": 9999999,
$or : [{"tags.name":"roja"},{"tags.location":"US"},{"tags.year":2019}]
}
},
{
'$facet': {
metadata: [{ $count: "total" }],
data: [{
$addFields: {
"weight": {
$map: {
input: "$tags",
as: "tagsEl",
in: {
"$add":
[
{$cond: [ { $eq: [ '$$tagsEl.roja', 'roja' ] }, 15, 1 ]} ,
{$cond: [ { $eq: [ '$$tagsEl.location', 'US' ] }, 10, 1 ]},
{$cond: [ { $eq: [ '$$tagsEl.year', 2019 ] }, 5, 1 ]}
]
}
}
}
}
}, { $skip: 0 }, { $limit: 10 }, { '$sort': { 'weight' : -1 } }]
}
}
]
)
解决方案
您可以使用Studio3T将您的查询直接转换为 java 代码,除非您不熟悉语法。
推荐阅读
- ios - iOS NFC 后台读取是否支持 NDEF 联系人卡片记录?
- angular - Angular 6搜索栏和结果两个不同的不相关组件
- pandas - Pandas DataFrame to Dict,以(行,列)元组作为键,将这些位置的 int 值作为值
- node.js - 使用 Async 函数在 ejs 视图中打印值 Express js
- android - Android 集成测试:使用 Dagger 和 Mockito 在活动中模拟逻辑/方法,并在测试中获取返回值
- javascript - 如何给每个单元格随机数字
- pip - 在 Synology DiskStation 上安装 python 包
- powershell - 如何使用 Send-MailMessage 格式化电子邮件中 PowerShell 脚本的 Select Name、LastWriteTime 的输出?
- regex - 正则表达式匹配不包含多个句子的内容,包括换行符
- laravel - 存储下拉选项 Laravel 5.7 中的两个值