如何在NodeJS中将MongoDB查询返回对象的属性值提取为一维数组
NodeJS中将MongoDB查询结果转为一维值数组的实现方法
方案1:查询后处理现有结果
直接用JS原生数组map方法遍历提取每个对象的Brand属性即可:
// queryResult 为你当前拿到的原始对象数组 const targetArr = queryResult.map(item => item.Brand); // 得到的targetArr就是 ['Apple','Dell','Samsung']
该方案适合需要同时保留原始查询对象做其他业务逻辑的场景。
方案2:调整查询语句直接获取目标数组
无需二次处理结果,直接使用MongoDB的distinct方法,查询符合条件的Brand字段的唯一值集合:
// 替换原有find查询语句即可 const targetArr = await db.Try.distinct("Brand", {Type: "Electronic"});
该方案性能更高,且自动对重复的品牌值去重,适合仅需要品牌列表的场景。
内容的提问来源于stack exchange,提问作者user16802669
相关产品推荐
相关产品推荐

