संपादित करें:ड्राइवर के 2.0.1 संस्करण के अनुसार FindFluent
ऑब्जेक्ट IMongoCollection.Find
. से लौटा है एक उपयुक्त ToString
है जिसमें फ़िल्टर शामिल है, लेकिन एक प्रोजेक्शन, सॉर्ट आदि (यदि प्रासंगिक हो) भी शामिल है।
तो, इसके लिए:
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);
आउटपुट होगा:
find({ "UrlHash" : { "$in" : [4, 5, 6, 7, 8] }, "ProductTopic" : 200 }, { "UrlHash" : 1, "_id" : 0 }).
sort({ "ProductTopic" : -1 }).
skip(6).
limit(7).
maxTime(1000)
ठीक है, आप पहले से ही जानते हैं कि आप एक खोज कर रहे हैं इसलिए मुझे लगता है कि आप जानना चाहते हैं कि क्वेरी कैसी दिखती है।
IFindFluent.Filter
. का उपयोग करके आप इसे सीधे अपने कोड से आसानी से कर सकते हैं :
BsonDocument filterDocument = findFluent.Filter.Render(
collection.DocumentSerializer,
collection.Settings.SerializerRegistry);
Console.WriteLine(filterDocument);
आपके मामले में आउटपुट (hashValues
. पर निर्भर करता है) और topicId
बेशक):
{ "UrlHash" : { "$in" : [4, 5, 6, 7, 8, 9] }, "ProductTopic" : 200 }