¿Cómo enumero todas las bases de datos para una conexión usando el controlador Mongo C#?MongoDB: ¿Obtener la lista de todas las bases de datos?
Respuesta
muy fácilmente:
var server = MongoServer.Create("mongodb://localhost/?safe=true");
var databaseNames = server.GetDatabaseNames();
Heh, gracias, de alguna manera me perdí ese método :) – Andrey
La clase MongoServer desfasada y en su versión 2.0.0.
Puede utilizar ListDatabasesAsync
using (var cursor = await client.ListDatabasesAsync())
{
await cursor.ForEachAsync(d => Console.WriteLine(d.ToString()));
}
La clase MongoServer desfasada y en su versión 2.0.0 como Juri señaló. Si no desea utilizar la función asíncrona, así es como lo hago:
var client = new MongoClient("mongodb://" + server_username + ":" + server_password + "@" + server_host + ":" + server_port);
List<MongoDB.Bson.BsonDocument> databases = client.ListDatabases();
Solo una cosa. Está en formato BsonDocument que tiene 2 elementos: "nombre" y "tamañoOnDisco".
Espero que esto ayude.
no pudo validar si un determinado DB existe o no con las respuestas existentes, por lo que aquí es mi opinión sobre ella:
// extension method on IMongoClient
public static IMongoClient AssertDbExists(this IMongoClient client, string dbName)
{
bool dbFound = false;
using(var cursor = client.ListDatabases())
{
var databaseDocuments = cursor.ToList();
foreach (var db in databaseDocuments)
{
if (db["name"].ToString().Equals(dbName))
{
dbFound = true;
break;
}
}
}
if (!dbFound) throw new ArgumentException("Can't connect to a specific database with the information provided", nameof(MongoSettings.ConnectionString));
return client;
}
y luego usarlo como esto:
// either you get the client with the DB validated or throws
_client = new MongoClient(settings.ConnectionString).AssertDbExists(_dbName);
Usando : Mongo Oficial C# v2.4.4 controlador
Solución de Trabajo :
MongoClient client = new MongoClient("mongodb://localhost:27017");
using (IAsyncCursor<BsonDocument> cursor = client.ListDatabases())
{
while (cursor.MoveNext())
{
foreach (var doc in cursor.Current)
{
Console.WriteLine(doc["name"]); // database name
}
}
}
- 1. MongoDB soltar todas las bases de datos
- 2. Obtener una lista de todas las etiquetas únicas en mongodb
- 3. ¿Cómo obtener una lista de usuarios de bases de datos de todas las instancias
- 4. Cómo obtener una lista de todas las tablas en dos bases de datos diferentes
- 5. Lista de todas las tablas en la base de datos
- 6. Obtener lista de todas las aplicaciones instaladas
- 7. En mysql, las bases de datos show; el comando no enumera todas mis bases de datos
- 8. Cómo mostrar todas las tablas de múltiples bases de datos
- 9. Obtener lista de bases de datos de SQL Server
- 10. ¿Dónde están todas las bases de datos nativas revisadas?
- 11. Cómo exportar todas las bases de datos con phpmyadmin
- 12. Mysql - encuentre una tabla en todas las bases de datos
- 13. ¿Cómo borrar todas las bases de datos en Postgres?
- 14. Soltar todas las bases de datos del servidor
- 15. MongoDB: ¿Cuál es una buena forma de obtener una lista de todas las etiquetas únicas?
- 16. lista de diferencias entre las bases de datos SQL
- 17. android dexclassloader obtener la lista de todas las clases
- 18. Ruby Rspec. Obtener la lista de todas las pruebas
- 19. ¿Están las bases de datos orientadas a documentos destinadas a reemplazar las bases de datos relacionales?
- 20. Todas las columnas en MongoDB
- 21. Obtenga bases de datos MongoDB en una matriz de JavaScript?
- 22. Cómo obtener la lista de bases de datos de mongodb y la lista de colecciones de una aplicación de ruby on rails
- 23. Cómo manejar el purgado de bases de datos en Mongodb
- 24. Datos principales: Obtener todas las entidades
- 25. Lista de sobrescritura de datos en todas las posiciones
- 26. Un usuario por base de datos contra usuario único para todas las bases de datos
- 27. Número máximo de bases de datos compatibles con MongoDB
- 28. Obtener una lista de todas las sesiones activas en ASP.NET
- 29. obtener la lista de atributos del objeto mongodb
- 30. Windows: ¿cómo obtener una lista de todas las ventanas visibles?
alternativamente, desde el shell: '> show dbs' –
puede usar el comando * show collection * en cmd .. !! –