2012-04-25 49 views
0

無法連接到MongoDB的連接到服務器localhost:27017:
無連接可以作出,因爲目標機器積極地拒絕它127.0.0.1:27017。錯誤從C#.NET控制檯應用程序

當我在現場蒙戈運行使用MongoDB的
我已經下載CSharpDriver-1.4.1.4490.msi

using System; 
    using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using MongoDB.Bson; 
using MongoDB.Driver; 
using MongoDB.Driver.Builders; 


namespace ConsoleApplication4 
{ 
    public class Entity 
    { 
     public ObjectId Id { get; set; } 
     public string Name { get; set; } 
    } 

class Program 
{ 
    static void Main(string[] args) 
    { 

     var connectionString = "mongodb://localhost:27017"; 
      var server = MongoServer.Create(connectionString); 
      var database = server.GetDatabase("test"); 
      var collection = database.GetCollection<Entity>("entities"); 

      var entity = new Entity { Name = "Tom" }; 
      collection.Insert(entity); 
      var id = entity.Id; 

      var query = Query.EQ("_id", id); 
      entity = collection.FindOne(query); 

      entity.Name = "Dick"; 
      collection.Save(entity); 

      var update = Update.Set("Name", "Harry"); 
      collection.Update(query, update); 

      collection.Remove(query); 

     } 
} 
+7

mongo是否真的在運行?在命令提示符下嘗試'netstat -ano' - 您是否看到任何監聽TCP端口27017的內容? – Rup 2012-04-25 17:46:59

回答

0

我會在這裏遵循的方向與C#控制檯應用程序,出現此異常。 Windows quickstart是開始在Windows上使用Mongo的非常好的資源。

只要連接到.Net中的Mongo實例,如果您在安裝Mongo時沒有做任何特別的事情,您不應該明確指定連接字符串。以下代碼適用於我的Mongo通用設置。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using MongoDB.Bson; 
using MongoDB.Driver; 
using MongoDB.Bson.IO; 
using MongoDB.Bson.Serialization; 
using MongoDB.Bson.Serialization.Attributes; 
using MongoDB.Bson.Serialization.Conventions; 
using MongoDB.Bson.Serialization.IdGenerators; 
using MongoDB.Bson.Serialization.Options; 
using MongoDB.Bson.Serialization.Serializers; 
using MongoDB.Driver.Builders; 
using MongoDB.Driver.GridFS; 
using MongoDB.Driver.Wrappers; 

namespace MongoDB 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      MongoServer server; 
      MongoDatabase moviesDb; 

      server = MongoServer.Create(); 
      moviesDb = server.GetDatabase("movies_db"); 

      //Create some data 
      var movie1 = new Movie { Title = "Indiana Jones and the Raiders of the Lost Ark", Year = "1981" }; 
      movie1.AddActor("Harrison Ford"); 
      movie1.AddActor("Karen Allen"); 
      movie1.AddActor("Paul Freeman"); 

      var movie2 = new Movie { Title = "Star Wars: Episode IV - A New Hope", Year = "1977" }; 
      movie2.AddActor("Mark Hamill"); 
      movie2.AddActor("Harrison Ford"); 
      movie2.AddActor("Carrie Fisher"); 

      var movie3 = new Movie { Title = "Das Boot", Year = "1981" }; 
      movie3.AddActor("Jürgen Prochnow"); 
      movie3.AddActor("Herbert Grönemeyer"); 
      movie3.AddActor("Klaus Wennemann"); 

      //Insert the movies into the movies_collection 
      var moviesCollection = moviesDb.GetCollection<Movie>("movies_collection"); 
      //moviesCollection.Insert(movie1); 
      //moviesCollection.Insert(movie2); 
      //moviesCollection.Insert(movie3); 

      var query = Query.EQ("Year","1981"); 

      var movieFound = moviesDb.GetCollection<Movie>("movies_collection").Drop(); 

     } 



    } 


} 
+0

所以你建議他只是不指定連接字符串?但是他指定的那個有什麼問題嗎? 27017是默認的端口,所以它對我來說看起來不錯。 – Rup 2012-04-26 09:01:14

+0

@Rup是的,確切地說。我建議不要指定連接字符串:) – 2012-04-29 22:14:21

相關問題