EDIT:Vanaf versie 2.0.1 van het stuurprogramma is de FindFluent
object geretourneerd door IMongoCollection.Find
heeft een geschikte ToString
dat omvat het filter, maar ook een projectie, sortering enzovoort (indien relevant).
Dus hiervoor:
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);
De uitvoer zou zijn:
find({ "UrlHash" : { "$in" : [4, 5, 6, 7, 8] }, "ProductTopic" : 200 }, { "UrlHash" : 1, "_id" : 0 }).
sort({ "ProductTopic" : -1 }).
skip(6).
limit(7).
maxTime(1000)
Nou, je weet al dat je een zoekopdracht doet, dus ik neem aan dat je wilt weten hoe de zoekopdracht eruit ziet.
U kunt dat eenvoudig rechtstreeks vanuit uw code doen met behulp van IFindFluent.Filter
:
BsonDocument filterDocument = findFluent.Filter.Render(
collection.DocumentSerializer,
collection.Settings.SerializerRegistry);
Console.WriteLine(filterDocument);
De uitvoer in jouw geval (hangt af van hashValues
en topicId
natuurlijk):
{ "UrlHash" : { "$in" : [4, 5, 6, 7, 8, 9] }, "ProductTopic" : 200 }