Katalogen där den lagras anges av din mongod-instans, inte din MVC-applikation. När du startar din mongod-instans bör du ha något i stil med:
mongod.exe --dbpath [where your db is stored]
För att veta mer om mongod.exe-parametrar, ta en titt på här
.
Namnet på din databas anges i anslutningssträngen. Det skulle vara något i stil med:
mongodb://localhost/dbName?[options]
Du kan hitta hela instruktionen här
.
Jag vet dock inte om jag är den enda som tycker att C#-drivrutinens API är lite knepigt. För att initiera en MongoClient (databasobjekt på toppnivå) skulle de flesta välja det enklaste sättet:
MongoClient client = new MongoClient(connStr);
På så sätt får du aldrig databasens namn. För att få det:
MongoUrl url = new MongoUrl(connStr);
MongoClient client = new MongoClient(url);
var dbName = url.DatabaseName // retrive database name
var db = client.GetServer().GetDatabase(dbName);
På så sätt kan du lagra databasnamn med anslutningssträng. Vilket verkar vara bra för mig. Men du kan naturligtvis använda en annan appSetting för att lagra db-namnet.
Du behöver inte. När du infogar data i databasen för första gången kommer mongod att skapa databas åt dig, såväl som samlingar. Även om det senare kan vara användbart att bygga index på några av samlingarna.