La directory in cui è archiviata è specificata dalla tua istanza mongod, non dalla tua applicazione MVC. Quando avvii la tua istanza mongod, dovresti avere qualcosa come:
mongod.exe --dbpath [where your db is stored]
Per saperne di più sui parametri mongod.exe, dai un'occhiata a qui
.
Il nome del database è specificato nella stringa di connessione. Sarebbe qualcosa del tipo:
mongodb://localhost/dbName?[options]
Puoi trovare l'intera istruzione qui
.
Tuttavia, non so se sono l'unico a trovare l'API del driver C# un po' complicata. Per inizializzare un MongoClient (oggetto database di primo livello), la maggior parte delle persone seguirebbe il modo più semplice:
MongoClient client = new MongoClient(connStr);
In questo modo non otterrai mai il nome del database. Per ottenerlo:
MongoUrl url = new MongoUrl(connStr);
MongoClient client = new MongoClient(url);
var dbName = url.DatabaseName // retrive database name
var db = client.GetServer().GetDatabase(dbName);
In questo modo puoi memorizzare il nome del database con la stringa di connessione. Il che mi sembra buono. Ma puoi ovviamente usare un'altra appSetting per memorizzare il nome del db.
Non devi. Quando inserisci i dati nel database per la prima volta, mongod creerà il database per te, così come le raccolte. Anche se in seguito potresti trovare utile creare indici su alcune delle collezioni.