BEARBEITEN:Ab Version 2.0.1 des Treibers ist FindFluent
Objekt, das von IMongoCollection.Find
zurückgegeben wird hat einen passenden ToString
das beinhaltet den Filter, aber auch eine Projektion, Sortierung und so weiter (falls relevant).
Dazu also:
var findFluent = collection.
Find(x => hashValues.Contains(x.UrlHash) && x.ProductTopic == topicId,
new FindOptions {MaxTime = TimeSpan.FromSeconds(1)}).
Project(x => x.UrlHash).
Sort(Builders<ProductMapping>.Sort.Descending(x => x.ProductTopic)).
Skip(6).
Limit(7);
Console.WriteLine(findFluent);
Die Ausgabe wäre:
find({ "UrlHash" : { "$in" : [4, 5, 6, 7, 8] }, "ProductTopic" : 200 }, { "UrlHash" : 1, "_id" : 0 }).
sort({ "ProductTopic" : -1 }).
skip(6).
limit(7).
maxTime(1000)
Nun, Sie wissen bereits, dass Sie eine Suche durchführen, also nehme ich an, dass Sie wissen möchten, wie die Abfrage aussieht.
Sie können dies ganz einfach direkt aus Ihrem Code heraus mit IFindFluent.Filter
tun :
BsonDocument filterDocument = findFluent.Filter.Render(
collection.DocumentSerializer,
collection.Settings.SerializerRegistry);
Console.WriteLine(filterDocument);
Die Ausgabe in Ihrem Fall (hängt von hashValues
ab und topicId
natürlich):
{ "UrlHash" : { "$in" : [4, 5, 6, 7, 8, 9] }, "ProductTopic" : 200 }