繁体   English   中英

在mongodb聚合期间拆分字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM