2013-02-07 44 views
5

यदि संभव हो, तो मैं एक खोज & "पृष्ठभूमि" में गैर अनुक्रमित कॉलम पर क्वेरी को निकालना चाहता हूं, अन्य कार्यों को परेशान किए बिना या दूसरों के नुकसान के लिए थकाऊ स्मृति को हटाए बिना।mongodb पृष्ठभूमि कार्य

अनुक्रमण के लिए, पृष्ठभूमि ध्वज है। कार्यों को ढूंढने/हटाने के लिए इसे जोड़ा जा सकता है? इस कार्रवाई के लिए सही झंडा:

एक टिप

+0

जहां तक ​​मुझे पता है और गैर अनुक्रमित कॉलम को हटाकर आपका क्या मतलब है? क्या इसका मतलब है कि आप पूरी पंक्ति को नहीं हटा रहे हैं बल्कि कॉलम को हटाने के लिए इन-मेमोरी ऑपरेटर का उपयोग कर रहे हैं? इसके अलावा गैर अनुक्रमित कॉलम को qwuick के रूप में हटाया जाना चाहिए, जो इंडेक्स किए गए हैं, जो निकालने के लिए खोज प्रदान करते हैं। – Sammaye

+0

मुझे एक गैर-इंडेक्स फ़ील्ड उदा। .find ({i_am_not_indexed: "target"}) और मिलान दस्तावेज़ों को पूरी तरह हटा दें। इसमें कुछ मिनट लगते हैं। यह ठीक था, क्योंकि यह एक जरूरी काम नहीं है, लेकिन यह अन्य मोंगो कार्यों को धीमा कर रहा है। यही कारण है कि मैं पृष्ठभूमि की तरह कुछ ढूंढता हूं: सच .. – ledy

+0

आह मैं अब देखता हूं, माफ करना, मुझे कोई रास्ता नहीं पता। मैंने प्राथमिकता करने की विधि के रूप में प्रतिकृतियों का उपयोग करने के बारे में सोचा था, लेकिन यह मोंगोडीबी – Sammaye

उत्तर

2

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

  • 10 डॉक्स आप उन 10 डॉक्स
  • नींद
  • गोटो पहला कदम अद्यतन करने के लिए
  • अद्यतन की जरूरत है सकते हैं।

आप प्रयोग करने के लिए होगा नींद कार्यों के लिए जो मूल्य के साथ। आपको यह समझने की आवश्यकता है कि आपके द्वारा अपडेट किए जा रहे सभी दस्तावेज़ों को स्मृति में खींचने की आवश्यकता है, इसलिए इसका कम से कम कुछ प्रभाव होगा।

2

नहीं करने के लिए धन्यवाद, वहाँ एक पृष्ठभूमि नहीं है। जब पृष्ठ त्रुटियां होती हैं और अन्य परिचालनों को निष्पादित करने की अनुमति मिलती है तो हटा दिया जाएगा। यदि आपको इसे थ्रॉटल करने की आवश्यकता है, तो आप या तो छोटे बैचों में हटा सकते हैं या एक खोज/निकालने वाले पैटर्न का उपयोग कर सकते हैं जो अन्य परिचालनों पर प्रभाव को कम कर देगा। के लिए:

+0

में प्रतिकृति के कार्यान्वयन के कारण काम नहीं करेगा। साथ ही (बिना हटाए गए)। इस कम प्राथमिकता वाले कार्य के लिए भी कोई कामकाज नहीं है? – ledy