Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 在Nodejs中使用下划线或lodash进行实时计算?演出_Performance_Node.js_Mongoose_Underscore.js_Lodash - Fatal编程技术网

Performance 在Nodejs中使用下划线或lodash进行实时计算?演出

Performance 在Nodejs中使用下划线或lodash进行实时计算?演出,performance,node.js,mongoose,underscore.js,lodash,Performance,Node.js,Mongoose,Underscore.js,Lodash,我想在我的nodejs项目中使用lodash,主要用于pull、crossion、zip等。。 我有一个mongodb集合“OnlineUsers”,其中每个用户(doc)都有“params”数组。我的应用程序所做的最冗余的工作是在params数组中查找一个用户与其他用户的交集,并查找user1最感兴趣的参数所在的user2 最初可能有500-600名在线用户,但我希望它能扩展到数千人。 我不知道聚合框架是否有助于实现数组相交 实时使用下划线或lodash查找100或1000s阵列的交点是正常的

我想在我的nodejs项目中使用lodash,主要用于pull、crossion、zip等。。 我有一个mongodb集合“OnlineUsers”,其中每个用户(doc)都有“params”数组。我的应用程序所做的最冗余的工作是在params数组中查找一个用户与其他用户的交集,并查找user1最感兴趣的参数所在的user2

最初可能有500-600名在线用户,但我希望它能扩展到数千人。 我不知道聚合框架是否有助于实现数组相交

实时使用下划线或lodash查找100或1000s阵列的交点是正常的吗?我需要至少少于2秒的响应


任何具有基准测试(Pull和intersection)的人都会很棒

我认为最大的问题不在于数组的操作,而是Mongo从磁盘获取所有文档并将它们发送到节点的开销(速度和内存)。如果可能的话,我会研究在数据库层保留所有这些逻辑的方法。对检索到的文档进行交集不是一个好主意。我同意askmike在数据库中这样做,您可以在集合上进行map reduce,如果您仍然决定使用任何JS框架,请看这个问题-注意。有几个基准(也有lodash和下划线)。