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

MongoDB में सरणी के लिए कैप्ड सब-कलेक्शन और $slice का उपयोग

MongoDB में सरणी तत्वों को सीमित करना: $slice का उपयोग

MongoDB सब-कलेक्शन या नेस्टेड सरणियों पर सीधे capped विकल्प का समर्थन नहीं करता। capped संग्रह स्तर पर काम करता है। हालांकि, आप एग्रीगेशन में $slice ऑपरेटर का उपयोग करके सरणी से केवल पहले N तत्व प्राप्त कर सकते हैं।

नमूना डेटा

> db.demo319.insertOne({"Scores": [100, 345, 980, 890]});
{ "acknowledged": true, "insertedId": ObjectId("5e50ecf6f8647eb59e562064") }
> db.demo319.insertOne({"Scores": [903, 10004, 84575, 844]});
{ "acknowledged": true, "insertedId": ObjectId("5e50ed01f8647eb59e562065") }

$slice के साथ एग्रीगेशन

प्रत्येक डॉक्यूमेंट से केवल पहले 2 स्कोर प्राप्त करने के लिए:

> db.demo319.aggregate([
    { $project: { TwoScores: { $slice: ["$Scores", 2] } } }
]);

परिणाम

{ "_id": ObjectId("5e50ecf6f8647eb59e562064"), "TwoScores": [ 100, 345 ] }
{ "_id": ObjectId("5e50ed01f8647eb59e562065"), "TwoScores": [ 903, 10004 ] }

$slice: ["$Scores", 2] सिंटैक्स का अर्थ है: $Scores सरणी से शुरुआत से 2 तत्व लें। आप नकारात्मक मान का उपयोग करके अंत से तत्व ले सकते हैं (उदाहरण: -2 अंतिम 2 तत्व देगा)।

  1. - MongoDB में सबडॉक्यूमेंट्स के ऐरे को कैसे क्वेरी करें?

    सबडॉक्यूमेंट्स के ऐरे को क्वेरी करने के लिए MongoDB में $unwind का उपयोग करें। नमूना डेटा बनाना (सबडॉक्यूमेंट्स ऐरे) db.demo499.insertOne({ details: [ { Name:MIT, Rank: 1, CountryName:US }, { Name:Stanford University, Rank: 2 }, { Name:University of California, Berkeley, Rank: 3 }

  1. - MongoDB में नेस्टेड सरणी को कैसे सॉर्ट करें?

    MongoDB में नेस्टेड सरणी को सॉर्ट करने के लिए, $sort का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo505.insertOne( { details: [ { Name:Chris, Score:58 }, { Name:Bob, Score:45 }, { Name:John, Score:68 }, { Name:David, Score:46 } ] }); { ackn

  1. - MongoDB में सरणी में डुप्लिकेट की जांच कैसे करें?

    सरणी में डुप्लिकेट जांचने के लिए MongoDB में aggregate() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo756.insertOne({SubjectName:[MySQL,MongoDB,Java]}); { acknowledged : true, insertedId : ObjectId(5eb01e0d5637cd592b2a4add) } > db.demo756.insertOne({SubjectName:[MongoDB,MySQL,MongoDB,C,C