javascript - Mongoose 或 JavaScript 将结果按相同字段分组到数组中
问题描述
我目前正在寻找从 mongoDB 获取结果并将它们排序到按同一字段分组的数组中的最有效方法。
我的架构如下
var EventSchema = new mongoose.Schema({
title:String,
description:String,
location:{lng:Number, lat:Number},
date:Date,
place_id:String,
....
});
我将所有事件放入一个名为的数组all_events
中,并希望按 place_id 将它们分组到数组中。我已经尝试过这个(如下)并且效果很好,但我想知道他们是否是在猫鼬中这样做的一种方法,或者是在 JavaScript 中更有效的方法。
let included_places = [];
let places_events=[];
for(let i=0; i<all_events.length; i++){
if(included_places.indexOf(all_events[i].place_id)<0) included_places.push(all_events[i].place_id);
}
for(let i=0; i<included_places.length; i++){
let the_events = all_events.filter(a=>a.place_id==included_places[i]);
places_events[i] = the_events;
}
解决方案
推荐阅读
- asp.net-mvc - texbox 值未显示在 url
- c# - 将 BSON 流解码为人类可读的字符串
- html - Mailchimp:内部带有条件合并标签块的无序列表?
- f# - F#从两个列表中创建对列表
- reactjs - 如何在 Android 完整证明示例中从网络加载反应原生 JS 包?
- java - 确定哪种类型的异常是可抛出的
- c# - 为什么在 Func 中解构
不起作用,尽管有 Deconstruct 扩展方法? - javascript - 如何使用 async/await 一一进行异步调用?
- python - 如何优化 for 循环以使用 2-D 数组中的值填充 3-D np 数组?
- rust - 展平大数组常量会减少 L1 缓存未命中的数量吗?