如何获得mongodb查询在Dart中的执行时间?
我使用https://github.com/mongo-dart/mongo_dart
我设法调用setProfilingLevel
(复制drop()所做的事情)。注意,这是一个系统命令
DbCommand createSetProfilingLevelCommand(int level) {
return new DbCommand(
db,
DbCommand.SYSTEM_COMMAND_COLLECTION,
MongoQueryMessage.OPTS_NO_CURSOR_TIMEOUT,
0,
-1,
{'profile':level},
null);
}
print(await db.executeDbCommand(createSetProfilingLevelCommand(2)));
应该显示如下内容
{was: 0, slowms: 100, ok: 1.0}
查询集合与您所做的相同(假设您知道如何使用它!)
var coll = db.collection(DbCommand.SYSTEM_PROFILE_COLLECTION);
List list = await coll.find().toList();
for (var item in list) {
print(item);
}
您可以记录调用mongo_dart的代码使用StopWatch
执行所需的时间
var stopwatch = new StopWatch();
stopwatch.start();
await executeMyQuery();
print(stopwatch.elapsedMilliseconds);