如何查看分拣信息系统.profile(mongodb)?

如何查看分拣信息系统.profile(mongodb)?,mongodb,node-mongodb-native,Mongodb,Node Mongodb Native,我启用了分析模式2(所有事件)。我的想法是编写一个脚本,它将遍历所有查询并执行解释计划,并查看是否有任何查询不使用索引。但是这是不可能的,因为我在system.profile中没有看到任何排序信息。为什么会这样 谢谢 更新: 想象一下,您有一个用户集合。您已经在此集合上创建了一个索引:user(name,createdAt)。现在我想找出一些按时间排序的用户。在system.profile中,不会保存查询的第二部分(排序/分页),但是,了解使用了什么排序操作非常重要,因为它会影响性能和索引选择。

我启用了分析模式2(所有事件)。我的想法是编写一个脚本,它将遍历所有查询并执行解释计划,并查看是否有任何查询不使用索引。但是这是不可能的,因为我在system.profile中没有看到任何排序信息。为什么会这样

谢谢

更新:

想象一下,您有一个用户集合。您已经在此集合上创建了一个索引:user(name,createdAt)。现在我想找出一些按时间排序的用户。在system.profile中,不会保存查询的第二部分(排序/分页),但是,了解使用了什么排序操作非常重要,因为它会影响性能和索引选择。
所以我的意图是创建一个脚本,它将遍历system.profile中的所有语句,执行解释计划,并查看是否使用索引。如果没有,我可以在执行集成测试时自动捕获所有新的/不可靠的查询。

为什么10gen选择不在system.profile中包含排序信息

如果你对这个功能感兴趣,我建议你去申请它。(我找不到此功能的现有建议)。你可能会得到更多关于为什么它没有被包括在内的细节

我可以看出它有时是多么有价值,尽管建议您使用nscanned和nreturn作为了解是否正在使用索引的一种方式(更重要的是,确保扫描的文档尽可能少)


因此,虽然它并不完美,但它为您提供了一种快速评估性能和检测索引使用情况的方法。

您可以使用聚合框架进行排序 e、 g.首先是最慢的操作
db.system.profile.aggregate({$sort:{millis:-1}})
对不起,伙计们。我找到了那个问题的答案。事实上mongo有。在查询元素中称为orderby。我的错:-)

我很好奇你要找的具体细节或例子是什么。