** / * 查询所有记录 **/ router.post(’/queryAll’,function (req, res, next) { var conditions = {owner:req.body.owner}; Repair.find(conditions,function (err,ret) { if(err){ return res.send(global.retFormate(0,err,‘查询数据失败’)); } else { return res.send(global.retFormate(1,ret,‘查询数据成功’)); } });
}),****
这个接口在数据很少时一切正常,现在达到一百多时就无响应了 ,不知道原因, 谢谢!
附上db:
附上接口调用时长(应该是repair/queryAll超时,本地数据被改过了,两者现象都是一样的):
折腾了几天终于好了:将mongoose由4.1.2升级到了4.7.7,也是试试的,居然好了,好坑,还是不知道之前为什么不行的原因,算了,先这样吧。
@hfqf post数据是什么,这么大
@DevinXian 用户每次换设备后登录需要同步数据,联系人,维修记录,成百上千的。
如果过长时间响应代理nginx超时加长,或者文件过大断点续传支持下?
@ntfs32 谢谢 我是小白 先查查相关概念 理理思路
@hfqf 考虑一下优化业务流程吧,如果不是经常换手机,可以使用下载sqlite数据库文件的方式,如果是经常换,可以分步下载,先下载必须的,再由用户操作决定下一步要同步的数据等等
multiparty
@SHocker-Yu 你说的这个好像是用于请求的数据的吧 我那个是返回数据太长而没有任何相应的问题
用nodejs中的流的,或者分成一下小块一小块数据,连环请求。
@hfqf 额,看成post传数据太大了
得由多大哦;json 数据,可以想办法分成多个post 请求传过去; 重新设计返回json的数据
@winglight 确实不是经常需要换手机,但是分布下载体验不太好吧,可能数据会很多。到底能不能一次返回所有数据呢,这个问题大家应该都会遇到过的吧。
@2015-lizaiyang 用流的话 我想到了 但是还不知道具体该如何写 连环请求肯定是可以的 但是觉得用户体验不是太好 登录后可能等好久才能刷新页面 。我现在很是疑问:到底能不能一次返回所有数据呢,这个问题大家应该都会遇到过的吧。
<p style=“text-align:right”><a href=“https://github.com/lumia2046/cnode”> — — 来自lumia2046-react-cnode</a></p>
@slclub 多个请求肯定是可以的 但是觉得用户体验不是太好 登录后可能等好久才能刷新页面 。我现在很是疑问:到底能不能一次返回所有数据呢,这个问题大家应该都会遇到过的吧。
@lumia2046 兄台 你这是什么意思
@SHocker-Yu 没关系 也要谢谢你热心
@hfqf 您这个只能用node中的流,会比较好,不然就是把数据切成小块,分步交互,不然,用户的网络如果太慢,那就尴尬了。
@2015-lizaiyang 用流去做,我可以去了解,查资料。但是这个post返回数据到底有没有限制,还是只是express它自己做了限制,还是中间件做了限制,这个很关键,不知道你知不知道,再次感谢。
折腾了几天终于好了:将mongoose由4.1.2升级到了4.7.7,也是试试的,居然好了,好坑,还是不知道之前为什么不行的原因,算了,先这样吧。
@hfqf 一直以为你的问题出在web层,结果是数据库连接的问题啊,一般定位这种问题都是要先排除一下db查询的问题了,类似执行计划这种
@winglight 新人自学自搞的项目 很多地方不懂 只能一点一点的啃
@hfqf 初学要从套路开始~~~
hah