1

这是我的 java 类,它将连接到 Mongo DB 并获取 Data 。

public class Test
{
    public static void main(String args[])
    {
        DBCursor cursor  = null;
        DBCollection coll = null;
        BasicDBObject query = new BasicDBObject();
        String symbol = args[0];
        query.put("symbol", "" + symbol);
        cursor  = coll.find(query);
        int count = coll.find(query).count();
    }
}

我的问题是,是否有可能知道通过这个程序对 Mongo DB 进行了多少查询?

我想知道的是,是否使用以下语句对 Mongo DB 进行了两次调用

  cursor  = coll.find(query);

 int count = coll.find(query).count();

是否可以通过上述方法知道两个调用是否对 Mongo DB 是 amde ?

4

2 回答 2

3

您可以使用 MongoDB分析来查看针对服务器执行的查询。有关详细信息,请参阅 MongoDB 文档:http: //docs.mongodb.org/manual/reference/method/db.setProfilingLevel/

简而言之:db.setProfilingLevel(2)在您的 shell 中执行并查看system.profile您服务器上的集合。

于 2012-12-27T09:19:39.553 回答
1

如果这是连接到 MongoDB 的唯一程序,您可以打开分析:http ://docs.mongodb.org/manual/tutorial/manage-the-database-profiler/

您可以将分析提高到其最高级别 (2),但是如果这只是许多应用程序中的一个,那么可能会有(如 PHP 中)一个 MongoLog 类(http://php.net/manual/en/class.mongolog。 php ) 你可以使用。

于 2012-12-27T09:21:21.470 回答