gpt4 book ai didi

java - 如何使用投影和过滤器区分 MongoDB 中的查询?

转载 作者:行者123 更新时间:2023-12-01 23:40:42 25 4
gpt4 key购买 nike

我有 mongo 中的属性列表,我正在查询一些嵌套字段。这是我的代码,

public List<Brand> searchBrands(Request request) {
final MongoCollection<Document> collection = mongoDatabase.getCollection("shop");
final Document query = new Document();
final Document projection = new Document();
final List<Brand> brandList = new ArrayList<>();


query.append("_id", request.getId());
query.append("isActive", true);
if (request.Year() != null) {
query.append("attributes.name", "myYear");
query.append("attributes.value", request.getYear());
}

projection.append("brand.code", 1.0);
projection.append("brand.description", 1.0);
projection.append("_id", 0.0);



Block<Document> processBlock = document -> brandList.
add(Brand.builder().code(document.get("brand",Document.class).getString("code"))
.description(document.get("brand",Document.class).getString("description"))
.build());


collection.find(query).projection(projection).forEach(processBlock);

return brandList;}

以上代码正确返回结果,有 72 个商​​品具有相同的品牌代码。但我想根据brand.code 获取不同的内容,我该怎么做?

最佳答案

我不确定您使用哪个 mongodb 客户端库来为 mongodb 创建查询;我正在分享您可以在 mongodb 控制台中运行的查询以获得您想要的结果。我希望您知道如何使用 mongodb 客户端库创建此查询

db.shop.distinct('brand.code', myQuery)
//Replace myQuery with your query e.g. {isActive: true}

关于java - 如何使用投影和过滤器区分 MongoDB 中的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58260799/

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