[英]Split string during mongodb aggregation
我在 MongoDB 中收集了以下文档:
{_id : "...", ip : "0.1.10.200", item : "..."}
ip
是 IP v4 地址。 我需要按 IP 对这些数据进行分组。 此外,我需要将 ip 分成 4 部分并添加额外的字段以从文档中产生,例如:
{
"ip" : "0.1.10.200",
"ip_part1" : "0",
"ip_part2" : "1",
"ip_part3" : "10",
"ip_part4" : "200",
"items" : [
...
]
}
我正在使用聚合框架按ip
分组。 但我不知道如何将ip
分成几部分。 $substr
不合适,因为ip
地址可能是: "100.110.0.0" "1.10.100.1"
所以我不知道 IP 地址每个部分的开始和结束索引。
在聚合期间将 ip 拆分为多个部分的最佳方法是什么?
目前无法在聚合中拆分字符串,认为您必须在客户端完成最后一部分。 或者在保存期间将拆分的部分存储在您的文档中。 您可以在保存期间自动执行此操作。
更新:现在可以使用$split
聚合从 3.4 版本开始。
https://docs.mongodb.com/manual/reference/operator/aggregation/split/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.