如何使用Dart获得mongoDb的执行时间



如何获得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);

最新更新