2

我在运行 stat 命令时没有收到这样的命令错误

db.stat()在 mongo 控制台中

但是从轻便摩托车上运行它会出错

session.command(stat: 1)

failed with error "no such cmd: stat"

4

1 回答 1

3

mongo 控制台命令是“stats”(不是“stat”),并在此处记录。

http://docs.mongodb.org/manual/reference/method/db.stats/

详细的,

db.stats() 方法是 dbStats 数据库命令的包装器。

http://docs.mongodb.org/manual/reference/command/dbStats/#dbcmd.dbStats

所以这里有一个测试显示轻便摩托车的使用情况。

测试.rb

require 'moped'
require 'test/unit'
require 'pp'

class MyTest < Test::Unit::TestCase

  def setup
    @session = Moped::Session.new([ "127.0.0.1:27017" ])
    @session.use "test"
  end

  test "db stats" do
    puts "Moped::VERSION:#{Moped::VERSION}"
    dbstats =  @session.command(dbstats: 1)
    assert_equal("test", dbstats["db"])
    pp dbstats
  end
end

红宝石测试.rb

Loaded suite test
Started
Moped::VERSION:1.5.2
{"db"=>"test",
 "collections"=>3,
 "objects"=>5,
 "avgObjSize"=>99.2,
 "dataSize"=>496,
 "storageSize"=>24576,
 "numExtents"=>3,
 "indexes"=>1,
 "indexSize"=>8176,
 "fileSize"=>67108864,
 "nsSizeMB"=>16,
 "dataFileVersion"=>{"major"=>4, "minor"=>5},
 "extentFreeList"=>{"num"=>0, "totalSize"=>0},
 "ok"=>1.0}
.

Finished in 0.005335 seconds.

1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

187.44 tests/s, 187.44 assertions/s
于 2014-04-23T15:50:21.870 回答