Для проекта по сетевой безопасности, над которым я работаю, у меня есть список всех IP-адресов в моей стране (и других соответствующих областях) в коллекции mongoDB.Несколько фильтров на mongoDB mongoengine
Как это:
{
"_id" : ObjectId("56674d3d9ee3d40b79167e09"),
"ip" : "200.6.116.75",
"server" : "Microsoft-IIS/7.5",
"date" : "2015-11-23"
}
Дело в том, что теперь я хочу, чтобы фильтровать по их данным ASN (номер автономной системы). У меня есть еще одна коллекция, на которой у меня есть ASN и данные IP-блоки. Вот пример для ASN 6429.
{
"_id" : ObjectId("572ba2611c8e25e0a9c44f64"),
"ASN" : "6429",
"ip_block" : "200.14.215.0/24"
}{
"_id" : ObjectId("572ba2611c8e25e0a9c44f65"),
"ASN" : "6429",
"ip_block" : "200.27.0.0/16"
}
Теперь, есть ли простой способ сделать фильтрацию запросов на любой ASN?
Конкретно, я хотел бы попросить каждый IP-адрес, соответствующий моему ASN, спросить, соответствует ли IP внутри ip-блока для такого ASN.
Еще одна вещь, которую я мог сделать, это просто запросить данные и не фильтровать для ASN, а затем я мог бы фильтровать информацию на python, но мне кажется, что такие запросы должны выполняться СУБД.
Любые советы будут очень признательны.
Это умный способ обойти эту проблему. Благодаря! –