问题描述
了解到MongoDB Atlas的高性能,我很想知道在本地MongoDB Server和MongoDB Atlas实例上运行的聚合查询之间的执行时间差异。因此,我建立了一个M0(免费层)MongoDB Atlas数据库。
在我的本地MongoDB服务器中,可以使用以下命令查看聚合查询的执行时间:
db.collection.explain("executionStats").aggregate([
{ $match....},{ $facet...},...])
我的收藏集包含10,000个包含嵌套数组和复杂聚合查询的文档。执行时间将近30秒。
但是对于MongoDB Atlas,在doc中指定了Atlas M0 Free Tier集群不支持聚合命令的辅助方法,例如explain()
。所以我看不到执行时间。
还有其他方法可以获取聚合查询执行时间指标而不进行升级吗?
解决方法
只需使用Javascript函数即可完成
。d = new Date;
db.coll.aggregate(...);
print(new Date - d + 'ms')