例如,我有一个.find()查询的列表,如下所示:

db.tweets.find({},{"user.name":1}).explain()

我想从javascript文件运行查询
然后将输出保存到文本文件

对我来说重要的是也从文本文件中的.explain()获取结果

这可能吗?我该如何实现呢?

最佳答案

示例脚本test.js:

conn = new Mongo('hostname');
db = conn.getDB('dbName');

var temp =  db.collection.find().explain()

// do what ever you want
printjson(temp)

在命令行上运行:
mongo hostname test.js

输出:
MongoDB shell version: 2.4.9 connecting to: hostname/test
{
  "cursor": "BasicCursor",
  "isMultiKey": false,
  "n": 4795,
  "nscannedObjects": 4795,
  "nscanned": 4795,
  "nscannedObjectsAllPlans": 4795,
  "nscannedAllPlans": 4795,
  "scanAndOrder": false,
  "indexOnly": false,
  "nYields": 0,
  "nChunkSkips": 0,
  "millis": 2,
  "indexBounds": {
  },
  "server": "XXX:XXX"
}

10-08 00:28