Mongodb कुल $गिनती

0

सवाल

मैं गिनती करने के लिए दस्तावेजों की संख्या से लौटे एक एकत्रीकरण.

मुझे यकीन है कि मेरी प्रारंभिक एकत्रीकरण काम करता है, क्योंकि मैं इसे का उपयोग करें बाद में अपने programm. ऐसा करने के लिए मैं बनाया एक पाइप लाइन चर (यहाँ बुलाया pipelineTest, मुझसे पूछें यदि आप चाहते हैं को देखने के लिए इसे विस्तार, लेकिन यह काफी लंबे समय है, यही कारण है कि मैं नहीं दे लाइनों यहाँ).

गिनती करने के लिए दस्तावेजों की संख्या में लौटे, मैं धक्का मेरे पाइपलाइन के साथ : {$count: "totalCount"}

अब मैं प्राप्त करना चाहते हैं (या लॉग इन) totalCount मूल्य. मुझे क्या करना चाहिए ?

यहाँ एकत्रीकरण :

pipelineTest.push({$count: "totalCount"});
        cursorTest = collection.aggregate(pipelineTest, options)
        console.log(cursorTest.?)

आपकी मदद के लिए धन्यवाद, मैं पढ़ने के लिए बहुत कुछ है और बहुत से डॉक्टर के बारे में एकत्रीकरण और मैं अभी भी समझ में नहीं आता कि कैसे पढ़ने के लिए परिणाम के एक एकत्रीकरण...

aggregate mongodb
2021-11-23 20:45:58
2

सबसे अच्छा जवाब

0
  1. मान लें आप उपयोग कर रहे हैं, async/इंतजार वाक्य रचना के लिए आपको इंतजार के परिणाम पर एकत्रीकरण.
  2. आप कर सकते हैं परिवर्तित करने के लिए कर्सर, एक सरणी पाने के पहले तत्व है कि सरणी और उपयोग totalCount.
     pipelineTest.push({$count: "totalCount"});   
     cursorTest = await collection.aggregate(pipelineTest, options).toArray();  
     console.log(cursorTest[0].totalCount);
2021-11-23 21:05:41

अपने जवाब के लिए धन्यवाद. हम्म, अगर मैं का उपयोग का इंतजार है, यह इस त्रुटि है : `` cursorTest = का इंतजार संग्रह.कुल(pipelineTest, विकल्प).toArray(); ^^^^^ SyntaxError: इंतजार में ही वैध है async समारोह ``
Aux98

अगर मैं उपयोग नहीं करते हैं इंतजार, मैं इस त्रुटि है : `` (नोड:21748) UnhandledPromiseRejectionWarning: TypeError: नहीं पढ़ सकते हैं संपत्ति 'totalCount' के अपरिभाषित (नोड:21748) UnhandledPromiseRejectionWarning: अनियंत्रित वादा अस्वीकृति. यह त्रुटि उत्पन्न या तो द्वारा फेंकने के अंदर एक async समारोह में एक पकड़ के बिना ब्लॉक, या खारिज करने के लिए एक वादा था, जो नहीं के साथ संभाला .को पकड़ने के(). समाप्त करने के लिए नोड प्रक्रिया पर अनियंत्रित वादा अस्वीकृति ``
Aux98

@Aux98 कर सकते हैं आप इस कोशिश? संग्रह । कुल(pipelineTest, विकल्प).toArray().तो(आरईएस => console.log(आरईएस[0])).पकड़(अं => console.त्रुटि(गलती))
Sergey Shevchuk

हाँ यह काम कर रहा है की तरह है कि, आपकी मदद के लिए धन्यवाद! हालांकि, .toArray है वास्तव में धीमी गति से (5 मिनट लगते हैं करने के लिए वापसी का एक परिणाम). के रूप में मैं करने की जरूरत है इस समारोह का उपयोग 6 बार यह एक समस्या हो सकता है. लेकिन मैं कोशिश करेंगे करने के लिए अपने कोड का अनुकूलन करने के क्रम में समय कम । एक बार फिर धन्यवाद
Aux98
0

एकत्रीकरण

db.mycollection.aggregate([
    {
        $count: "totalCount"
    }
])

परिणाम

[ { totalCount: 3 } ]

अपने ब्यौरे

निम्न प्रयास करें:

pipelineTest.push({$count: "totalCount"});
cursorTest = collection.aggregate(pipelineTest, options)
console.log(cursorTest.totalCount)
2021-11-23 20:58:33

उत्तर के लिए धन्यवाद, कंसोल वापसी : undefined
Aux98

लेकिन वास्तव में यह क्या मैं करने की कोशिश की पहली बार में...
Aux98

आह, आप का उपयोग किया जाना चाहिए एक विशिष्ट भाषा - शायद जावास्क्रिप्ट...
barrypicker

हो हाँ मैं बताना भूल गया कि, वास्तव में यह जावास्क्रिप्ट.
Aux98

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में