【问题标题】:Filtering existing objects with SQL query使用 SQL 查询过滤现有对象
【发布时间】:2014-09-09 12:55:59
【问题描述】:

我正在寻找一个可以从 SQL 查询中过滤 javascript 对象集合的库。 Google 上没有这样的结果:/

例如,这个对象集合...

var objects = [{id : 1, name : "o1"},{id : 2, name : "o2"}]

过滤...

SELECT * FROM objects WHERE id = 1

会返回...

[{id : 1, name : "o1"}]

你知道这样的图书馆是否已经存在吗?还是我应该自己开发...? (呃——')

谢谢大家!

【问题讨论】:

  • 不能用 SQL 过滤 JS 对象!对于不同的语言,更不用说 SQL 是服务器端和 JS 客户端。不可能用 SQL 过滤 JS 的底线!可以使用诸如主干.js 之类的 JS 库过滤 JS 对象
  • 当然这是两种不同的语言!但是 SQL 可以是客户端(Web SQL),而 JS 可以是服务器端(NodeJS)!这不是问题;)感谢您的回答;)

标签: sql json node.js filter filtering


【解决方案1】:

感谢所有这些答案;) 好吧,这样的图书馆似乎不存在:/ 我绕过了这个问题,只关注 Where 子句:我构建了一个专门处理 where 子句的类。这个类甚至可以返回一个 SQL Where 子句字符串(在进一步的请求中使用)或过滤一个集合或对象。

感谢您的回答,他们都帮助我解决了我的问题;)

【讨论】:

    【解决方案2】:

    您可以使用underscorewhere 函数。例如

    var listOfPlays = [
     {title: "Cymbeline", author: "Shakespeare", year: 1611},
     {title: "The Tempest", author: "Shakespeare", year: 1611},
     {title: "Sonnets", author: "Shakespeare", year: 1609},
    ]
    
    >_.where(listOfPlays, {author: "Shakespeare", year: 1611});
    
    
    => [{title: "Cymbeline", author: "Shakespeare", year: 1611},
        {title: "The Tempest", author: "Shakespeare", year: 1611}]
    

    【讨论】:

    • 我已经在使用它,并且我知道这个解决方案;)但是在下划线/主干中使用之前需要解析 SQL 查询。谢谢;)
    • 你使用了Sequelize。做findAll()时,sequelize的“where”参数可能有你想要的查询解决方案。
    • 该项目暂时不使用Sequelize。但我看了看它并在 where 子句上构建了一些东西;)谢谢;)
    猜你喜欢
    • 2023-01-24
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多