我使用 c# 和 asp.net mvc (visual studio 2015)。当我尝试将 mongodb 连接到 c# 时,出现此错误:
MongoDB.Driver.MongoConfigurationException: The connection string 'mongodb:://localhost' is not valid.
错误来源是:
var client = new MongoClient(Settings.Default.bigdataconexionstrin);
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using WebApplication5.Properties;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
namespace WebApplication5.Controllers
{
[Authorize]
public class HomeController : Controller
{
public IMongoDatabase db1;
public HomeController()
{
var client = new MongoClient(Settings.Default.bigdataconexionstrin);
MongoClientSettings settings = new MongoClientSettings();
settings.Server = new MongoServerAddress("localhost", 27017);
this.db1 = client.GetDatabase(Settings.Default.db);
}
public ActionResult Index()
{
return View();
}
}
}
根据 the manual ,一个有效的连接字符串(与一个主机)具有以下格式:
mongodb://[username:password@]host[:port][/[database][?options]]
从你的错误信息来看,你正在使用mongodb:://localhost
。注意重复的冒号,这使得这个无效。因此,您需要更正配置中的连接字符串。
也就是说,在初始化 MongoClient
之后,您直接设置了 MongoClientSettings
,它是 alternative way指定 MongoClient
的连接设置。但是您永远不会使用这些设置来创建客户端。如果您想使用它们,您的代码应如下所示:
MongoClientSettings settings = new MongoClientSettings();
settings.Server = new MongoServerAddress("localhost", 27017);
var client = new MongoClient(settings);
但是您不使用设置中的连接字符串。因此,您应该决定使用这两种指定连接设置的方法中的哪一种。
我是一名优秀的程序员,十分优秀!