Node.js 如何处理在mongodb atlas上加载大集合的所有记录并侦听新数据?
我有一个angular应用程序,当它加载来自mongodb atlas集合的所有数据时,它有大约12K条记录,并且每天都在增加,所以数据集很大。该数据从Priming加载到表中。我们希望表中的所有数据在任何时候都可用,以便查询、查看和查询内存中的整个数据集。我有两个主要问题:Node.js 如何处理在mongodb atlas上加载大集合的所有记录并侦听新数据?,node.js,angular,primeng,mongodb-atlas,monk,Node.js,Angular,Primeng,Mongodb Atlas,Monk,我有一个angular应用程序,当它加载来自mongodb atlas集合的所有数据时,它有大约12K条记录,并且每天都在增加,所以数据集很大。该数据从Priming加载到表中。我们希望表中的所有数据在任何时候都可用,以便查询、查看和查询内存中的整个数据集。我有两个主要问题: 由于数据集很大,现在加载大约需要10秒,而且显然会随着数据的增加而增加。所以我想加快速度 这些数据正从外部来源转储到MondogbAtlas中。一旦我将数据加载到网站中,我希望能够监听新的数据并更新我的UI,而无需重新加载
ngOnInit(){
this.selectedColumns=this.cols;
这是。加载=真;
这个.handleEventData();
this.setCustomFilters();
}
handleEventData=异步函数(){
this.eventService.getEvents().subscribe((数据:any[])=>{
this.events=this.flattenEventData(数据);
this.makeEventDataUserFriendly(this.events);
this.setDistinctOptions(this.events);
这一点:加载=错误;
})
}
您实现了p表
<p-table [value]="events" #dt [columns]="selectedColumns" [paginator]="true" [rows]="250" [loading]="loading"
[autoLayout]=true [reorderableColumns]="true" [rowsPerPageOptions]="['250','500','1000']" dataKey="_id"
rowExpandMode="single" selectionMode="single">
neet请求所有数据,这是不高效的,会影响所有人的性能或会使浏览器崩溃
primeng table support Lazy模式便于处理大型数据集,而不是加载整个数据,每次分页、排序和筛选时,通过调用onLazyLoad回调加载小块数据
太棒了。谢谢你的回答!