MongoDB Java で正規表現の検索

MongoDB の正規表現の検索は、MongoDB のコマンドでは、’/' で囲んだ正規表現で書く
コレクションが以下のような場合、

{
   "info":{
       name: "y-task13md"
    },
   "data":[]
}
db.getCollection('xxx').find({
   "info.name" : /^y\-t.+d$/
})

これを、Java で、mongodb-driver を使用した場合、
要求値の指定、BasicDBObject の第2引数 に、java.util.regex.Pattern で指定することになる。

MongoClient client = new MongoClient(hostname, 27017);
MongoDatabase database = client.getDatabase(dbname);
MongoCollection<Document> collection = database.getCollection(name);

String key = "^y\\-t.+d$"
BasicDBObject filter = new BasicDBObject("info.name", Pattern.compile(key));
collection.find(filter).iterator().forEachRemaining(doc->{
      // 処理
});

mongodb-driver は、以下を指定

<dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongodb-driver</artifactId>
      <version>3.8.0</version>
</dependency>