次のようなドキュメントのコレクションがあるとします。
{'ip':'10.1.1.1','someattr':'aaa'}
{'ip':'120.14.15.16','someattr':'bbb'}
{'ip':'212.12.12.12','someattr':'ccc'}
ipが何らかの IP サブネットにあるすべてのドキュメントを検索したいと思います。私はPythonを使用しており、サブネットを配列に変換して次のようなものを実行できます
coll.find( { 'ip': { '$in': [ '10.1.1.0', '10.1.1.1', '10.1.1.2' ] } } )
ただし、小さなサブセットの場合にのみ正常に見えます。たとえば、ネットマスク /20 は 4094 になります。