2016-04-22 18 views
2

にMongoDBのドキュメントは、次のよう$cmdを定義しています

A special virtual collection that exposes MongoDB’s database commands. To use database commands, see Issue Commands.

そしてIssue Commandsセクションで:

running commands with db.runCommand() is equivalent to a special query against the $cmd collection

しかし、私は$cmdコレクションに対してこのクエリを発行しています:私が得た

db.$cmd.find({isMaster: 1}) 

を次のエラー:

{ "ok" : 0, "errmsg" : "bad numberToReturn (0) for $cmd type ns - can only be 1 or -1", "code" : 16979 }

とにかく、$cmdとはなんですか?どのようにして適切にクエリを発行できますか?

+1

可能なデュープhttp://stackoverflow.com:

db.$cmd.findOne({isMaster: 1}) 

は、次のようである、db.runCommand({isMaster: 1})と同じ結果を持っているだろう/ questions/28642311/ – chridam

+0

@chridamそれにも答えはありません! –

+0

あなたの_question_の重複を少なくしてくれるものはありません。 –

答えて

0

mongoを少し掘り下げて試したところ、findOneメソッドを使用すると、実際に$cmdコレクションに対してクエリを実行できます。だから、:

How can I properly issue a query against it?

問題findOneを持つクエリ:

{ 
     "ismaster" : true, 
     "maxBsonObjectSize" : 16777216, 
     "maxMessageSizeBytes" : 48000000, 
     "maxWriteBatchSize" : 1000, 
     "localTime" : ISODate("2016-04-22T12:26:21.350Z"), 
     "maxWireVersion" : 4, 
     "minWireVersion" : 0, 
     "ok" : 1 
} 
関連する問題