2017-05-20 4 views
0

ノードjsを使ってmongodbサーバーのslavestatusを取得したい。ここにコードがあります。nodejsを使ってmongodbのスレーブ状態を取得する方法は?

var Db = require('mongodb').Db, Server = require('mongodb').Server; 
     var db = new Db('admin', new Server(conf.host, conf.port)); 
     db.open(function(err, db1) { 
      var adminDb = db1.admin(); 
      adminDb.command({ "status": 1 },function(err,result) { 
        console.log("output="+result); 
      }); 
    }); 

エラーが発生しています。 "replSetGetStatus"

admiDb.command({ "replSetGetStatus": 1 }, function(err,result) { 

}) 

ようになり

error=MongoError: no such command: 'status', bad cmd: '{ status: 1 }'

+0

どの操作を複製しようとしていますか? 'rs.status()'? –

+0

[Database Commands](https://docs.mongodb.com/manual/reference/command/) –

+0

はいの完全なリストを参照することで、多くの問題を解決することができます。 rs.status() – selvan

答えて

1

は、コアドキュメントのDatabase Commandsの完全なリストがある指摘しました。これらは、操作を開始するためにサーバーに送信されるもののBSON構造の「ビルディングブロック」です。

すべてのドライバ実装のほぼすべてがこのコマンドリストを使用します。また、すべてのドライバには.command()のバリアントが提供されています。

+0

このコードを使用するとエラーが発生します。 – selvan

+0

error = MongoError:--replSetで実行しない – selvan

+0

@selvanこれは、サーバーがそのオプションで実行されていない場合の標準的な応答です。したがって、サーバーはレプリカセットのメンバーではありません。レプリカセットに含まれていないものからステータスを取得することはできません。したがって、受信する必要があります。別のものが見えると思うなら、 '--repltSet'オプションでサーバを起動してください。 –

関連する問題