2013-05-03 8 views
6

के साथ वृद्धि मैं मोंगोस के साथ कुछ पूछताछ पर काम कर रहा हूं जहां मुझे उप-दस्तावेज़ों को छोड़ने और सीमित करने की आवश्यकता है, लेकिन उसी प्रश्न में मैं दस्तावेज़ में कुछ फ़ील्ड बढ़ाना चाहता हूं। वर्तमान में मेरी क्वेरी चेनिंग के साथ बनाई गई है, क्योंकि जब मैंने इसे विकल्पों के साथ करने की कोशिश की तो मुझे बहुत सारी समस्याएं मिलीं।मोंगोस - findOne

Model.findOne({ shorten_id: id }).select('title content comments views').slice('comments', [0, 10]).exec(function(err, db_res) { if (err) { throw err; } else { console.log(db_res); } }); 

मैं जब इस क्वेरी बुला 1 के लिए दायर के विचारों 'को बढ़ाने के लिए चाहते हैं, लेकिन जैसा कि मैंने कहा, मैं बहुत कुछ करने की कोशिश की और यह सिर्फ काम नहीं किया: यह है कि मैं क्या है।

उत्तर

14

आप एक लाने के दौरान दस्तावेज़ को संशोधित करने के लिए findOneAndUpdate का उपयोग कर सकते हैं।

Model.findOneAndUpdate({ shorten_id: id }, { $inc: { fieldToIncrement: 1 }) 
    .select('title content comments views') 
    .slice('comments', [0, 10]) 
    .exec(function(err, db_res) { 
    if (err) { 
     throw err; 
    } 
    else { 
     console.log(db_res); 
    } 
    }); 
+6

आप $ इंक – Lion789

+1

के बाद एक ब्रैकेट याद कर रहे हैं कृपया ध्यान दें: fieldToIncrement अभी भी चर db_res – tuananh

+1

noob के iness के लिए क्षमा करें में वृद्धि नहीं, लेकिन जहां $ इंक से आता है? मुझे यकीन नहीं है कि मैं उस हिस्से को समझता हूं? – trainoasis