MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :connexion avec l'application ASP.NET MVC

Le répertoire où il est stocké est spécifié par votre instance mongod, pas votre application MVC. Lorsque vous démarrez votre instance mongod, vous devriez avoir quelque chose comme :

mongod.exe --dbpath [where your db is stored]

Pour en savoir plus sur les paramètres de mongod.exe, consultez ici .
Le nom de votre base de données est spécifié dans la chaîne de connexion. Ce serait quelque chose comme :

mongodb://localhost/dbName?[options]

Vous pouvez trouver l'instruction complète ici .
Cependant, je ne sais pas si je suis le seul à trouver l'API du pilote C# plutôt délicate. Pour initialiser un MongoClient (objet de base de données de niveau supérieur), la plupart des gens utiliseraient le moyen le plus simple :

MongoClient client = new MongoClient(connStr);

De cette façon, vous n'obtiendrez jamais le nom de la base de données. Pour l'obtenir :

MongoUrl url = new MongoUrl(connStr);
MongoClient client = new MongoClient(url);
var dbName = url.DatabaseName  // retrive database name
var db = client.GetServer().GetDatabase(dbName);

De cette façon, vous pouvez stocker le nom de la base de données avec la chaîne de connexion. Ce qui me semble être bon. Mais vous pouvez bien sûr utiliser un autre appSetting pour stocker le nom de la base de données.

Vous n'êtes pas obligé. Lorsque vous insérez des données dans la base de données pour la première fois, mongod créera une base de données pour vous, ainsi que des collections. Bien que plus tard, vous trouverez peut-être utile de construire des index sur certaines collections.