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

MongoDB में सरणी के पहले तत्व का गुण ढूंढना ($slice)

$slice प्रोजेक्शन ऑपरेटर

किसी सरणी फील्ड से केवल **पहला N तत्व** लौटाने के लिए (और वैकल्पिक रूप से उन तत्वों के विशिष्ट फील्ड), find() के प्रोजेक्शन में $slice ऑपरेटर का उपयोग करें।

उदाहरण: डेटा डालना

> db.firstElementOfArray.insertOne(
... {
...   _id: 100,
...   "Details": [
...     { "CustomerName": "John", "CustomerCountryName": "US" }
...   ]
... }
... );
{ "acknowledged" : true, "insertedId" : 100 }
> db.firstElementOfArray.insertOne(
... {
...   _id: 101,
...   "Details": [
...     { "CustomerName": "Carol", "CustomerCountryName": "UK" },
...     { "CustomerName": "David", "CustomerCountryName": "AUS" }
...   ]
... }
... );
{ "acknowledged" : true, "insertedId" : 101 }

दस्तावेज़ देखना

> db.firstElementOfArray.find().pretty();

आउटपुट:


प्रत्येक दस्तावेज़ में सरणी का पहला तत्व प्रोजेक्ट करना

> db.firstElementOfArray.find({}, {'Details': {$slice: 1}, 'Details.CustomerName': 1}).pretty();

आउटपुट:


व्याख्या:

  • {$slice: 1}: सरणी के पहले 1 तत्व को रखता है।
  • 'Details.CustomerName': 1: उस तत्व के अंदर केवल CustomerName फील्ड शामिल करता है।

विविधताएं: {$slice: -1} अंतिम तत्व देता है। {$slice: [skip, limit]} छोड़ने और सीमित करने की अनुमति देता है।

  1. - MongoDB में ऑब्जेक्ट्स की सरणी के अंदर कई मिलान कैसे खोजें?

    इसके लिए, $and के साथ $regex का उपयोग करें। $and एक या अधिक एक्सप्रेशन की सरणी पर लॉजिकल AND ऑपरेशन करता है और उन दस्तावेज़ों को चुनता है जो सरणी में सभी एक्सप्रेशन को संतुष्ट करते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo525.insertOne({details:[{Name:Chris,CountryName:US}]}); { ackn

  1. - MongoDB क्वेरी: ऐरे के केवल एक एलिमेंट को स्लाइस करें

    ऐरे के केवल एक एलिमेंट को स्लाइस करने के लिए, MongoDB में $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo579.insertOne( { _id: 101, details: { FirstName: John }, Marks: [56,78,90,34,45,74] } ); { acknowledged : true, insertedId : 101 }

  1. - MongoDB क्वेरी: एग्रीगेशन में ऐरे एलिमेंट का औसत प्राप्त करें

    ऐरे एलिमेंट्स का औसत प्राप्त करने के लिए, $avg का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo584.insertOne({Marks:[75,50,85,60,80]}); { acknowledged : true, insertedId : ObjectId(5e91d827fd2d90c177b5bcc2) } find() मेथड की मदद से कलेक्शन के सभी दस्तावेज प्रदर्शित करें: >