2016-12-08 3 views
0

Mongo-Server: Windows 10 (Host) Client: CentOS 6.2, eine virtuelle Box vm auf Windows 10-Host. Dies ist eigentlich ein Cloudera Quick Start vm. Problem: mongodb stellt eine Verbindung zum Remote-Server (von CentOS zu Windows) über das Terminal her, listet die Datenbanken auf, aber 'show collections' wird nur leer zurückgegeben. Das heißt, die Sammlungen sind zugänglich, weil ich jede Sammlung abfragen kann und die Zählung gibt mir auch die richtigen Ergebnisse. Andererseits habe ich von IntelliJ aus den gleichen Mongo-Server angeschlossen und es zeigt alle Sammlungen an.Mongodb Auflistung nicht auflisten bei Remote-Verbindung von CentOS

Nur neugierig, warum das passiert .. Irgendwelche Kommentare?

Seite Hinweis: Gibt es einen mongodb-Befehl, um die Anzahl der Sammlungen in einer Datenbank zu zählen?

Dank

_Vamsi

Antwort

0

Achten Sie auf die Datenbank, die Sie für die Sammlungen zeigen wollen verwenden. Möglicherweise verwenden Sie eine Datenbank, die keine Sammlungen enthält.

Wenn die Liste immer noch leer ist, versuchen Sie, sich mit einem Admin-Benutzerkonto anzumelden. Der Benutzer muss die Aktion listCollections ausführen können. Die dbAdmin Rolle enthält die listCollections Aktion.

Um die Anzahl zu erhalten, können Sie die getCollectionNames Funktion verwenden, die ein Array zurückgibt, und Sie können die Länge davon erhalten.

> db.getCollectionNames().length 
+0

Dank Logan. Natürlich verwende ich die richtige Datenbank. Die zweite Information ist gut. Tahnks dafür. – Vamsi

+0

Wenn Sie eine Sammlung vom Terminal erstellen, wird es angezeigt? Z.B. 'db.collection.insert ({a: 1})' dann 'db.getCollectionNames()' zeigt 'collection'? –

+0

Ich kann eine Sammlung hinzufügen, keine Probleme. Aber 'show collections' und db.getCollectionNames() sind beide leer. Allerdings kann ich die neue Kollektion aber gut abfragen. Seltsam. – Vamsi

Verwandte Themen