在传统的关系型数据库中, 我们通常采用如下方式模糊查询:
程序代码
select * from tags where tagname like '%美女%'
但是在mongodb 中,如果在控制台查询,是这个样子的:
程序代码
db.tags.find({"tagname": /美女/})
如果我们采用了 spring data mongodb, 可以采用如下方式之一:
1. 采用 Criteria
程序代码
Query query = new Query();
query.limit(10);
query.addCriteria(Criteria.where("tagname").regex("美女"));
mongoOperation.find(query, Tags.class);
2. 采用BasicQuery.
程序代码
String tagName = "美女";
BasicQuery query = new BasicQuery("{\"tagname\": {$regex : '" + tagName + "'} }");
query.limit(10);
mongoOperation.find(query, Tags.class);