在mongo中过滤文档

时间:2019-08-14 11:46:58

标签: mongodb mongodb-query aggregation-framework

我们有一批员工:

// Sample document.
        Document emp2 = new Document();
        emp2.put("name", "Charlotte Neil");
        emp2.put("website", "webcodegeeks.com");

        Document emp2_addr = new Document();
        emp2_addr.put("addr_line1", "Fremont, AK");
        emp2_addr.put("zip_code", "19408");
        emp2.put("address", emp2_addr);

以下过滤器不起作用:

AggregateIterable<Document> documents = collection.aggregate(Arrays.asList(
                new Document("$match", Document.parse("{ \"name\": \"Charlotte.*\" }")) 
        ));

过滤以上内容的正确语法是什么?
感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

可以通过以下方式将正则表达式应用于字符串字段:

1. new Document("$match", Document.parse("{ 'name':/Charlotte.*/ }"))
2. new Document("$match", Document.parse("{ 'name':{ $regex: 'Charlotte.*' } }"))

有关正则表达式的更多信息,请检查https://docs.mongodb.com/manual/reference/operator/query/regex/