Bir C# konsol uygulamasından uzak bir MongoDB örneğinden veri okumaya çalışıyorum ama bir OutOfMemoryException almaya devam ediyorum. Verileri okumaya çalıştığım koleksiyonun yaklaşık 500.000 kayıtları var.C# MongoDB Sürücü OutOfMemoryException
var mongoCred = MongoCredential.CreateMongoCRCredential("xdb", "x", "x");
var mongoClientSettings = new MongoClientSettings
{
Credentials = new[] { mongoCred },
Server = new MongoServerAddress("x-x.mongolab.com", 12345),
};
var mongoClient = new MongoClient(mongoClientSettings);
var mongoDb = mongoClient.GetDatabase("xdb");
var mongoCol = mongoDb.GetCollection<BsonDocument>("Persons");
var list = await mongoCol.Find(new BsonDocument()).ToListAsync();
Gerçekten tüm 500k belgeleri bir seferde getirmeye mi çalışıyorsunuz? Kullanım durumu nedir? –
Tüm Kişiler koleksiyonunuzu bir kerede belleğe sığdırmaya çalışıyorsunuz. Yeterli belleğin yok. Ya daha kısıtlı bir sonuç kümesine ihtiyacınız var, ya da sonuçlarınızı akış biçiminde, örn. ToListAsync 'ForLachAsync' yerine ForEachAsync' ile –
@JoachimIsaksson Bir kerede 500k’ya ihtiyacım yok. Amaç, tüm kayıtları bir CSV dosyasına almaktır. Bazı alanlara biraz masaj yapmayı planlıyorum. – degmo