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

Queryable का वापस IMongoQuery में अनुवाद करें

संपादित उत्तर:

मुझे एहसास हुआ कि LINQ क्वेरी से मोंगो क्वेरी प्राप्त करने का एक आधिकारिक तरीका पहले से ही है (मुझे पता होना चाहिए था!) GetMongoQuery विधि तक पहुंच प्राप्त करने के लिए आपको IQueryable को MongoQueryable पर डाउनकास्ट करना होगा:

var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var mongoQuery = ((MongoQueryable<Entity>)linqQuery).GetMongoQuery();

मूल उत्तर:

<स्ट्राइक>फिलहाल ऐसा करने का कोई आधिकारिक रूप से समर्थित तरीका नहीं है, लेकिन निकट भविष्य में हम यह पता लगाना आसान बनाना चाहते हैं कि LINQ क्वेरी किस MongoDB क्वेरी के लिए मैप की गई थी।

अल्पावधि में आप निम्न गैर-दस्तावेज आंतरिक विधियों का उपयोग यह पता लगाने के लिए कर सकते हैं कि LINQ क्वेरी किस MongoDB क्वेरी से मैप की गई है:

var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var translatedQuery = (SelectQuery)MongoQueryTranslator.Translate(linqQuery);
var mongoQuery = translatedQuery.BuildQuery();

लेकिन कुछ बिंदु पर आपको इन गैर-दस्तावेज विधियों से आधिकारिक रूप से समर्थित विधियों पर स्विच करने की आवश्यकता हो सकती है (अदस्तावेज विधियों में परिवर्तन हो सकता है या भविष्य में उनका नाम बदला जा सकता है)।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NoSQL रुझान - MongoDB, Cassandra, CouchDB और Riak

  2. मोंगोडब हेल्थचेक स्टेप बाय स्टेप

  3. मैं मोंगो कंसोल में ऑब्जेक्ट आईडी द्वारा ऑब्जेक्ट की खोज कैसे करूं?

  4. MongoDB में दस्तावेज़ अपडेट करने के 4 तरीके

  5. मोंगोडब कनेक्शन स्ट्रिंग में @ संभाल लें