Javascript 将查询从react前端传递到feathers服务是否是一种良好做法?

Javascript 将查询从react前端传递到feathers服务是否是一种良好做法?,javascript,reactjs,mongodb,feathersjs,querying,Javascript,Reactjs,Mongodb,Feathersjs,Querying,我正在使用rematch()对JS进行反应,并将其作为后端。如果我想在一定条件下从数据库中获取记录,我可以在React代码中通过API调用传递查询。 前 这将直接将查询传递给自动生成的服务,并向我提供预期的结果 我的问题是,从前端传递这些类型的查询(可能比这更复杂)是一种好的做法吗?请详细说明答案(利弊等)让客户端直接执行查询通常是个坏主意。您事先不知道该查询,这意味着任何人都可以发布一个被操纵的查询,这将绑定您的数据库,从而有效地对您进行DDOS攻击。由于您没有检查输入,因此无法防御此类攻击

我正在使用rematch()对JS进行反应,并将其作为后端。如果我想在一定条件下从数据库中获取记录,我可以在React代码中通过API调用传递查询。 前

这将直接将查询传递给自动生成的服务,并向我提供预期的结果


我的问题是,从前端传递这些类型的查询(可能比这更复杂)是一种好的做法吗?请详细说明答案(利弊等)

让客户端直接执行查询通常是个坏主意。您事先不知道该查询,这意味着任何人都可以发布一个被操纵的查询,这将绑定您的数据库,从而有效地对您进行DDOS攻击。由于您没有检查输入,因此无法防御此类攻击


验证每个系统边界上的输入始终是一个好主意。

我们在多个项目中成功且广泛地做到了这一点。它创造了最大的灵活性。更改可以在客户机中实现,而不需要在客户机和服务器中都进行更改


这应该与不信任客户端的服务器结合使用。服务器应该清理和限制输入查询,以确保客户端没有收到任何不应该收到的内容。

那么自动生成的服务有什么用呢?我是否需要为我的自定义查询编写自定义API以及这些服务?我不知道。我知道蒙哥,不是羽毛。我远离魔法:)
const empData = await employeeService.find({
    query: {
        $and:[
            {employeeId: payload.empIId},
            {name:"ABC"}
        ]
    }
});