2015-04-30 44 views
7

Tôi nhận được MongoServer không chứa định nghĩa cho ngoại lệ 'Tạo' khi biên dịch mã bên dưới. Xin hãy giúp tôi về điều này.MongoServer không chứa định nghĩa cho 'Tạo'

Libraries và các phiên bản

  • MongoDB.Bson 2.0.0
  • MongoDB.Driver 2.0.0
  • MongoDB.Driver.Core 2.0.0
List<Info> names = new List<Info>(); 
String name = ""; 
MongoServer server = MongoServer.Create(
    ConfigurationManager.AppSettings["connectionString"]); 
MongoDatabase myDB = server.GetDatabase("ES"); 
MongoCollection<Info> Persons = myDB.GetCollection<Info>("MyCollection"); 
foreach (Info Aperson in Persons.FindAll()) 
{ 
    name = name + " " + Aperson.Name; 
    names.Add(Aperson); 
} 

Trả lời

4

Phương pháp MongoServer.Create() đã bị xóa trong version 2.0. Nó đã không được chấp nhận vì ít nhất version 1.7.

Thay vào đó, hãy sử dụng MongoClient. Để có được quyền truy cập vào các MongoServer, sử dụng MongoClient.GetServer()

MongoClient client = new MongoClient(
    ConfigurationManager.AppSettings["connectionString"]); 
MongoServer server = client.GetServer(); 
3

Đây là những gì bạn cần phải làm, bằng cách sử dụng mới MongoDB.Driver 2.0:

var connectionString = ConfigurationManager.AppSettings["connectionString"]; 

var client = new MongoClient(connectionString); 
var database = client.GetDatabase("ES"); 

var collection = database.GetCollection<BsonDocument>("MyCollection"); 
var persons = await collection.Find(new BsonDocument()).ToListAsync(); 

Xem thêm tại: https://www.mongodb.com/blog/post/introducing-20-net-driver

trọng.

Các vấn đề liên quan