2017-01-17 4 views
1

私は公式文書を何度もチェックしましたが、そこにはrs.slaveOK()機能があり、シェルヘルプ文書もあります。mongoシェルでrs.slaveOK()を使用するにはどうすればよいですか?

shell-help document

私は、関数が実際に存在する場合でもrs.slaveOK()を使用することはできません。(エラーが発生した)

とても奇妙であること。何故ですか?

シェルは、入力時にrs.slaveOK()が関数ではないことを示すようにします。

+2

「私はrs.slaveOk()を使用できません」という意味はどうですか?エラーが発生していますか? SlaveOkは何も実行しません。それは単にオプションです – Peter4499

+0

@ Peter4499はい、私はエラーが発生することを意味します: '[main] TypeError:rs.slaveOKは関数ではありません:@(shell):1:1' –

+0

What's rs.Status()の結果? – Peter4499

答えて

3

注意してください! MongoDBの機能は、大文字と小文字が区別されます:

rs.slaveOK())

rs.slaveOk(関数ではありませんあなたが探している機能です。

1

Mongodbがレプリカセットとして設定され、プライマリではなくセカンダリノードの1つを照会する場合は、rs.slaveOk()を使用します。 slaveOkは、たとえ結果がプライマリと完全に一致しない場合でも、okを使用して結果をセカンダリ(プライマリではなく)から返すようにシェルに指示しています。

私は間違っているかもしれませんが、あなたがレプリカセットとして設定されているMongodbに接続されているように見えません。もしあなたがセカンダリに接続していないと推測しています。したがって、セカンダリを照会する命令は意味をなさない。

+0

それは大文字小文字の誤りです。あなたの答えをありがとう。 –

関連する問題