Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में $size और $cond का उपयोग करके सरणी के अंदर दस्तावेज़ों की गिनती करना

MongoDB में प्रति-दस्तावेज़ सरणी लंबाई गिनना

प्रत्येक दस्तावेज़ में सरणी फ़ील्ड के तत्वों की संख्या गिनने के लिए, एग्रीगेशन में $size ऑपरेटर का उपयोग करें। सरणी न होने की स्थिति को संभालने के लिए $cond और $isArray के साथ संयोजित करें।

नमूना डेटा

> db.demo332.insertOne({details: [{Name: "Chris", Age: 21}]});
{ "acknowledged": true, "insertedId": ObjectId("5e521f16f8647eb59e56208e") }
> db.demo332.insertOne({details: [{Name: "David", Age: 23}, {Name: "Bob", Age: 22}]});
{ "acknowledged": true, "insertedId": ObjectId("5e521f21f8647eb59e56208f") }

एग्रीगेशन: सरणी आकार गिनना

> db.demo332.aggregate([
    {$project: {
        numberOfDocuments: {
            $cond: {
                if: {$isArray: "$details"},
                then: {$size: "$details"},
                else: "No Documents"
            }
        }
    }}
]);

परिणाम

{ "numberOfDocuments": 1 }
{ "numberOfDocuments": 2 }

प्रत्येक दस्तावेज़ के लिए उसकी details सरणी की लंबाई लौटाई गई। $size केवल एग्रीगेशन में काम करता है, सामान्य find() क्वेरी में नहीं। गैर-सरणी मानों के लिए फॉलबैक मान प्रदान किया गया है।

  1. - MongoDB में ऐरे आइटम्स की गिनती करके नए फील्ड में प्रदर्शित करें

    दस्तावेज में ऐरे आइटम्स की संख्या गिनने के लिए, MongoDB में $size का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo703.insertOne({ListOfSubject:[MySQL,MongoDB]}); { acknowledged : true, insertedId : ObjectId(5ea6ebaf551299a9f98c93b4) } > db.demo703.insertOne({ListOfSubject:

  1. - MongoDB क्वेरी: कलेक्शन से पूरा ऐरे हटाएं

    कलेक्शन से पूरा ऐरे हटाने के लिए, MongoDB में $unset का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo609.insertOne({ListOfSubject:[MySQL,MongoDB]}); { acknowledged : true, insertedId : ObjectId(5e974695f57d0dc0b182d62c) } > db.demo609.insertOne({ListOfSubject:[Java]}); { a

  1. - MongoDB दस्तावेज़ों में विशिष्ट फ़ील्ड के ऐरे एलिमेंट्स काउंट करना

    किसी फ़ील्ड में ऐरे एलिमेंट्स की संख्या गिनने के लिए $size ऑपरेटर का उपयोग करें। डेमो डेटा > db.demo723.insertOne({Subject:[MySQL,MongoDB]}); > db.demo723.insertOne({Subject:[C]}); > db.demo723.insertOne({Subject:[C++,Java,Python]}); क्वेरी db.demo723.aggregate([ { $project: { count: