Genel

C# Mongo Query Serialize ToString

Filtreyi ön katmanda, db işlemlerini arka katmanda yapmak istiyoruz ve her detay için arka katmanda özelleştirilmiş metodlar işimizi görmüyor farzedelim. Mongo Query’sini stringe çevirip taşımak ve sonrasında deseralize ederek çalıştırmak için gereken kod örnekleri aşağıdadır.

using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
using MongoDB.Driver;

//Serialize ToJson
Console.WriteLine("Serialize ToJson Filter---------------");
var collection = new MongoClient().GetDatabase("dbName").GetCollection<BsonDocument>("collectionName");
var filter = Builders<BsonDocument>.Filter.Eq("asd", "dsa").Render(BsonDocumentSerializer.Instance, BsonSerializer.SerializerRegistry).ToString();
Console.WriteLine(filter);

//Deserialize From Json Query
Console.WriteLine("Deserialize From Json Filter To Data-----------");
var found = collection.Find(BsonDocument.Parse(filter));
Console.WriteLine(found.ToJson());