使用类似sql的javascript库处理数组和对象

使用类似sql的javascript库处理数组和对象,javascript,node.js,csv,Javascript,Node.js,Csv,我必须在节点中处理几个csv文件,以生成新的csv文件(选择、加入、分组等) 使用lodash的函数来完成这一切是相当容易的,但它往往非常冗长,而且维护起来也不太好 这一切都可以用一个清晰、漂亮、可读、自文档化的sql语句来解决 因此,我正在寻找一个库,它允许我处理两个对象数组,将它们视为表,应用sql语句,并获得结果数组对象 有类似的吗?当然有。俗话说,给猫剥皮有1000种方法。 请查看以下库 下面是一个查询示例: var people = [ {Name: '

我必须在节点中处理几个csv文件,以生成新的csv文件(选择、加入、分组等)

使用lodash的函数来完成这一切是相当容易的,但它往往非常冗长,而且维护起来也不太好

这一切都可以用一个清晰、漂亮、可读、自文档化的sql语句来解决

因此,我正在寻找一个库,它允许我处理两个对象数组,将它们视为表,应用sql语句,并获得结果数组对象


有类似的吗?

当然有。俗话说,给猫剥皮有1000种方法。 请查看以下库

下面是一个查询示例:

var people = [
              {Name: 'Jane', Age: 20, Location: 'Smithtown'},
              {Name: 'Ken', Age: 57, Location: 'Islip'},
              {Name: 'Tom', Age: 10, Location: 'Islip'}
            ];

var population = [
              {Location: 'Islip', People: 123},
              {Location: 'Melville', People: 332},
            ];

var result = new jinqJs()
    .from(people)
    .leftJoin(population)
      .on( function( left, right ) {
        return (left.Location === right.Location);
      } )
    .where( function(row) {
      return ( row.Age > 15);
    })
    .select('Name', 'Location', 'People');

您可以将它们读入mongodb并使用mongoosecsv文件,因为这些文件是逗号分隔的值文件,所以如果您只运行string.split(“,”);它为您提供了一个包含所有数据的数组。为什么您需要一个库?或者您可以使用json文档而不是csv。我在解析和编写csv文件方面没有问题。问题是,我必须将其中的几个与诸如select、join、group、sum、average等操作结合起来,这些操作可以用几个sql语句轻松完成,但用javascript做同样的操作是相当令人厌烦的……我想到了taffyDB。或者将您的csv和go nuts提供给sqlLite。无需使用ES5-6访问此库: