regex - 如何匹配mongoquery中的浮点值?
问题描述
这是我的 MongoDB 示例文档集合。我需要一个预期的结果,以便任何人指导我解决我的问题
/* 1 */
{
"_id" : 1.0,
"user_id" : "5c592f6716209a24f4125001",
"tu_code" : "5"
}
/* 2 */
{
"_id" : 2.0,
"user_id" : "5c592f6716209a24f4125002",
"tu_code" : "50"
}
/* 3 */
{
"_id" : 3.0,
"user_id" : "5c592f6716209a24f4125003",
"tu_code" : "50.21"
}
/* 4 */
{
"_id" : 4.0,
"user_id" : "5c592f6716209a24f4125004",
"tu_code" : "50.22"
}
/* 5 */
{
"_id" : 5.0,
"user_id" : "5c592f6716209a24f4125005",
"tu_code" : "52"
}
/* 6 */
{
"_id" : 3.0,
"user_id" : "5c592f6716209a24f4125006",
"tu_code" : "5.1"
}
/* 7 */
{
"_id" : 6.0,
"user_id" : "5c592f6716209a24f4125007",
"tu_code" : "5.1.1"
}
/* 8 */
{
"_id" : 7.0,
"user_id" : "5c592f6716209a24f4125008",
"tu_code" : "5.2"
}
/* 9 */
{
"_id" : 8.0,
"user_id" : "5c592f6716209a24f4125009",
"tu_code" : "5.2.1"
}
在这里,我在下面提到了我的 mongo聚合查询
[
{ "$project": {
"tu_code": { "$toLower": "$tu_code" },
}},
{ "$match": { "tu_code": {"$regex": "^5.*"}}}
]
上述查询产生以下结果
| _id| tu_code |
| ---| --------|
| 1 | 5 |
| 2 | 50 |
| 3 | 50.21 |
| 4 | 50.22 |
| 5 | 52 |
| 6 | 53 |
| 7 | 5.1 |
| 8 | 5.1.1 |
| 9 | 5.2 |
| 10 | 5.2.1 |
但我想要下面给出的预期结果
| _id| tu_code |
| ---| --------|
| 1 | 5 |
| 7 | 5.1 |
| 8 | 5.1.1 |
| 9 | 5.2 |
| 10 | 5.2.1 |
任何人都可以帮我解决这个问题,我不知道如何得到我的预期结果。
解决方案
推荐阅读
- python - concat 和 sum 多索引 pandas 系列
- android - 清除exoplayer的缓存
- java - 如何使用普通 For 循环打印动态数组
- c# - 如何在 .NET Framework 3.5 上使用 System.Threading.Tasks 类
- indexing - 如何在狮身人面像中索引特殊字符
- curl - 如何将 Jenkins 证书凭证绑定用于 curl 请求?
- drupal-8 - 如何增强 Drupal 8 Views 批量操作确认页面?
- java - VS Code 调试无法从 import 语句中解析类,而使用命令行可以正常工作
- python - 在字符串中找到某个字符串
- laravel - 用于自引用表的 web.php 中的 laravel 路由