gpt4 book ai didi

java - 使用 DropWizard 和 MongoDB 在多个值中搜索关键字

转载 作者:行者123 更新时间:2023-12-01 23:13:31 26 4
gpt4 key购买 nike

我想在所有 MongoDB 文档的多个值中搜索一个字符串,并返回匹配的文档。

这是我尝试用一​​键完成的事情

BasicDBObject object = new BasicDBObject();
object.put("firstName", Pattern.compile(value));

FindIterable<Document> documents = mongoCollection.find(object)
.skip(size*(index - 1)).limit(size);
for (Document document : documents) {
customerList.add(CustomerMapper.map(document));
}
return customerList;

如何更改它以在所有键/值中搜索某个值?

我在客户集合的每个文档中都有名字、姓氏、电子邮件、电话号码

建议?

最佳答案

使用以下代码修复了它:

BasicDBObject orQuery = new BasicDBObject();
List<BasicDBObject> obj = new ArrayList<BasicDBObject>();
obj.add(new BasicDBObject("firstName", new BasicDBObject("$regex", value).append("$options", "i")));
obj.add(new BasicDBObject("lastName", new BasicDBObject("$regex", value).append("$options", "i")));
obj.add(new BasicDBObject("email", new BasicDBObject("$regex", value).append("$options", "i")));
obj.add(new BasicDBObject("phoneNumber", new BasicDBObject("$regex", value).append("$options", "i")));
orQuery.put("$or", obj);

FindIterable<Document> documents = mongoCollection.find(orQuery)

这帮助我使用选定的键进行搜索。

关于java - 使用 DropWizard 和 MongoDB 在多个值中搜索关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58363911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com