Javascript 提高从API获取条件数据的速度
我现在注意到一个想法,我想用Node创建一个API 假设我们有一个端点Javascript 提高从API获取条件数据的速度,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我现在注意到一个想法,我想用Node创建一个API 假设我们有一个端点GET,用于获取所有带过滤器的过期票据 endpoint => GET v1/tickets?expire=true 我希望在速度和性能方面有最佳实践,通常我们使用一些ORM条件来获取过滤器数据(这里是过期票据),我使用Mongoose,可以这样做 const tickets = Ticket.find( { expire: 'true' } ) 此外,我们还可以使用javascript以编程方式获取所有票据和实
GET
,用于获取所有带过滤器的过期票据
endpoint => GET v1/tickets?expire=true
我希望在速度和性能方面有最佳实践,通常我们使用一些ORM条件来获取过滤器数据(这里是过期票据),我使用Mongoose,可以这样做
const tickets = Ticket.find( { expire: 'true' } )
此外,我们还可以使用javascript以编程方式获取所有票据和实现条件(例如filter
method)
注:考虑到我们可以有更多的条件,比如(
过期和更新=日期和名称=…
)
我的意思是拿到所有的票
const tickets = Ticket.find();
if(req.query.expire) {
tickets.filter(...);
}
记住
我想要最好的性能和这个解决方案,只是因为我认为mongoDB中的条件可能低于使用js的过滤器,现在我问你们是正确的,哪种方式更好?第一种方式绝对优于第二种方式,这意味着你们必须为DB或ORM设置条件,而不是在代码中设置这个条件,因为
你有没有检查这个请求需要多长时间才能下载你所有的票?这个要求有多大?那么,
Ticket
中的数据多久变化一次?1个问题:对此一无所知,2个问题:什么是多大?3个问题:lesscheck!你什么也没有得到,因为你的过滤速度快了10毫秒,但你的总体请求需要两倍的时间。最终,您建议在每次请求时将整个DB表下载到服务器,只是让服务器进行过滤;然后扔掉一半的数据。