我有 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 获取不同的内容,我该怎么做?
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
我不确定您使用哪个 mongodb 客户端库来为 mongodb 创建查询;我正在分享您可以在 mongodb 控制台中运行的查询以获得您想要的结果。我希望您知道如何使用 mongodb 客户端库创建此查询
db.shop.distinct('brand.code', myQuery) //Replace myQuery with your query e.g. {isActive: true}
添加回答
举报
0/150
提交
取消