如何使用Dart在mongoDb上获得执行时间?

时间:2016-10-03 14:15:26

标签: mongodb dart

如何在Dart中获取mongodb查询的执行时间?

我正在使用https://github.com/mongo-dart/mongo_dart

2 个答案:

答案 0 :(得分:2)

我设法调用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);
}

答案 1 :(得分:1)

您可以记录使用StopWatch执行代码调用mongo_dart所需的时间

var stopwatch = new StopWatch();
stopwatch.start();

await executeMyQuery();

print(stopwatch.elapsedMilliseconds);