MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB C# ड्राइवर में जेनरेट की गई स्क्रिप्ट प्राप्त करें

संपादित करें:ड्राइवर के 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 }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. यमन, नेवला, और MongoDB मचान

  2. मोंगोडब सरणी $पुश और $पुल

  3. मोंगोडब एकत्रीकरण $ समूह, सरणी की लंबाई प्रतिबंधित करें

  4. MongoDB:उप-दस्तावेज़ को ऊपर करें

  5. मैं कंसोल में MongoDB लॉग संदेशों को कैसे अक्षम कर सकता हूं?