有人知道将mongodb集合中的数据更快地存储到js阵列中的方法吗?下面的原因代码太慢了。也许使用聚合?还是别的什么?我只需要收集文档中的ID。
payments = await db.collection("accounting-payment").find({}).toArray()
mitkmikd1#
你可以加上 filter 在查询级别和 index 在数据库收集级别。过滤器将通过应用过滤器减少数据导入,除非您不需要所有数据。如果您确实需要所有数据,可以使用 cursor 这将像分页一样工作。此外,您还可以创建 index 在db收集级别,只有在应用查询而不是获取几乎所有记录时,才会加快数据获取速度。如果您正在获取所有/几乎所有记录,则索引将由于查找+获取双重操作而降低性能。还可以使用查询投影,如 .find({}, {name:1,desc:1}) 这将只返回已设置为1的字段。这将减少通过网络获取数据的量。
filter
index
cursor
.find({}, {name:1,desc:1})
1条答案
按热度按时间mitkmikd1#
你可以加上
filter
在查询级别和index
在数据库收集级别。过滤器将通过应用过滤器减少数据导入,除非您不需要所有数据。
如果您确实需要所有数据,可以使用
cursor
这将像分页一样工作。此外,您还可以创建
index
在db收集级别,只有在应用查询而不是获取几乎所有记录时,才会加快数据获取速度。如果您正在获取所有/几乎所有记录,则索引将由于查找+获取双重操作而降低性能。还可以使用查询投影,如
.find({}, {name:1,desc:1})
这将只返回已设置为1的字段。这将减少通过网络获取数据的量。