如何在Node JS + Mongo DB REST API中传输数据?

时间:2015-07-21 16:47:18

标签: node.js mongodb mongoose stream

我正在使用Mongoose的中间件处理Node JS + Mongo DB中的Rest API,其中一种方法允许恢复与某个用户相关的内容。

到目前为止,我一直在检索所有用户的内容,但数据量开始增长,现在我需要以某种方式流式传输数据。

我想要实现的行为是服务器用10-20个项目的流来回答请求,然后,如果客户端需要更多数据,则需要发送另一个请求,这将得到回复以下10-20项。

我能想出的就是回答那些前10-20项,然后,如果客户需要更多数据,为我的方法提供一个新的(可选)参数,这将允许客户端发送最后一项的ID,这样服务器就可以发回以下10-20项。

我知道这种方法会起作用,但我觉得它太原始了;必须有一种更简洁的方法来实现这种行为,因为它是很多Web应用程序必须实现的行为。

所以,我的问题是:你知道有什么更好的方法来解决这个问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

提供从请求中读取偏移量和限制的功能,然后执行以下操作:

db.collection.find().skip(20).limit(10)

此外,在您构建的API上设置默认值,以便某人无法一次请求一百万条记录。也许最大结果总是200,如果请求没有设置上述参数,则返回前200个结果。