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

उल्का के मोंगो प्रश्नों में पठन वरीयता कैसे निर्दिष्ट करें

मुझे उम्मीद है कि निम्नलिखित उल्का और मोंगो के बीच संबंधों की बेहतर समझ प्रदान करते हैं।

अधिक आराम के लिए उल्का संग्रह

उल्का आपको पूर्ण मोंगो कार्यक्षमता प्रदान करता है। हालांकि आराम के लिए यह एक लिपटे एपीआई प्रदान करता है एक मोंगो संग्रह का जो उल्का पर्यावरण के साथ सबसे अच्छा एकीकृत करता है। तो अगर आप के माध्यम से Mongo आयात करते हैं

import { Mongo } from 'meteor/mongo' 

आप मुख्य रूप से लपेटा हुआ मोंगो संग्रह आयात करते हैं जहां संचालन उल्का फाइबर में निष्पादित होते हैं। इन लपेटे हुए संग्रहों के प्रश्नों द्वारा लौटाए गए कर्सर भी "प्राकृतिक" कर्सर नहीं हैं बल्कि लिपटे कर्सर उल्का अनुकूलित होने के लिए।

अगर आप इन इंस्टेंस पर किसी नेटिव फीचर को एक्सेस करने का प्रयास करते हैं जो लागू नहीं किया गया है तो आपको एक त्रुटि प्राप्त होगी। आपके मामले में:

import { Meteor } from 'meteor/meteor';
import { Random } from 'meteor/random';

const ExampleCollection = new Mongo.Collection('examples')

Meteor.startup(() => {
  // code to run on server at startup
  ExampleCollection.insert({ value: Random.id() })
  const docsCursor = ExampleCollection.find();
  docsCursor.readPref('primary')
}); 

की ओर जाता है

TypeError: docsCursor.readPref is not a function

नोड मोंगो ड्राइवर संग्रह तक पहुंचना

अच्छी खबर यह है, आप नीचे की परत तक पहुंच सकते हैं के माध्यम से collection.rawCollection() जहां आपके पास नोड मोंगो ड्राइवर तक पूर्ण पहुंच है। ऐसा इसलिए है क्योंकि हुड उल्का के Mongo.Collection . के तहत है और यह Cursor है अंत में इस मूल ड्राइवर का उपयोग कर रहे हैं।

अब आपको दो अन्य मुद्दे मिलेंगे:

  1. readPref एक नोड-मोंगो कर्सर में नामित किया गया है cursor.setReadPreference (3.1 एपीआई)।

  2. Cursor.fetch मौजूद नहीं है लेकिन नाम दिया गया है cursor.toArray जो (जितने देशी ऑपरेशन करते हैं) एक वादा लौटाता है

तो अंत में आपके प्रश्न का उत्तर देने के लिए

आप निम्न कार्य कर सकते हैं:

import { Meteor } from 'meteor/meteor';
import { Random } from 'meteor/random';

const ExampleCollection = new Mongo.Collection('examples')

Meteor.startup(() => {
  // code to run on server at startup

  ExampleCollection.insert({ value: Random.id() })
  const docsCursor = ExampleCollection.rawCollection().find();
  docsCursor.setReadPreference('primary')
  docsCursor.toArray().then((docs) => {
    console.log(docs)
  }).catch((err)=> console.error(err))
});

सारांश




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb अपवाद, MongoCursorException' संदेश के साथ '$ ऑपरेटर ने वस्तु को बहुत बड़ा बना दिया इसका क्या अर्थ है?

  2. सी # LINQ ड्राइवर के साथ मोंगोडब में तिथियों की तुलना करना

  3. मोंगोडीबी अपडेट ()

  4. एक mongoDB w/Java ड्राइवर में अंतिम सम्मिलित दस्तावेज़ की आईडी प्राप्त करें

  5. मोंगोडब प्रश्न AND और OR . दोनों के साथ