我有一条简单的路线,使用toArray()将数据返回到扩展应用程序,它可以工作,但是我只想返回json对象而不是将它们作为数组返回。
这是我的代码,有没有办法返回相同的数据,但不是以数组形式返回?
app.get("/test/", (request, response) => {
collection.find( {"DataSet":"somevalue"}).limit(3).toArray((error, result) => {
if(error) {
return response.status(500).send(error);
}
response.send(result);
});
});
答案 0 :(得分:0)
如果您只想返回查询结果(mongoDB?),则应如下所示
app.get("/test/", (request, response) => {
response.send(collection.find( {"DataSet":"somevalue"} ).limit(3))
});
https://docs.mongodb.com/stitch/mongodb/actions/collection.find/
答案 1 :(得分:0)
默认情况下,MongoDB通常通过“光标”对象处理查询结果。 filterMax
方法只使用该光标并检索数组中的所有结果。
看起来您正在使用Node.js驱动程序,对吗?在这种情况下,您可以简单地遍历光标,而不是通过each()进行迭代,也可以通过nextObject()分别获取对象。
这两个链接都将您定向到光标对象在同一文档页面的不同部分。也可以在此处找到有关可以在游标上执行的操作的更多信息。我强烈建议进一步研究该文档。