2

次のように stat コマンドを実行しているときに、そのようなコマンドエラーは発生しません

db.stat()モンゴコンソールで

しかし、モペットから実行するとエラーが発生します

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

そこで、原付の使用法を示すテストを次に示します。

test.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

ruby test.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 に答える