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

MongoDB में फ़ील्ड में वैल्यूज़ की संख्या कैसे सीमित करें

$slice ऑपरेटर से ऐरे के एलिमेंट्स की संख्या सीमित करें

MongoDB में प्रोजेक्शन के दौरान किसी ऐरे फ़ील्ड से केवल निश्चित संख्या में एलिमेंट्स प्राप्त करने के लिए $slice ऑपरेटर का उपयोग करें।

उदाहरण: संग्रह बनाना

> db.demo173.insertOne({"ListOfValues": [10, 40, 100, 560, 700, 900]});
{ "acknowledged": true, "insertedId": ObjectId("5e383a4f9e4f06af551997e4") }

डॉक्यूमेंट देखना

> db.demo173.find().pretty();
{ "_id": ObjectId("5e383a4f9e4f06af551997e4"), "ListOfValues": [10, 40, 100, 560, 700, 900] }

वैल्यूज़ की संख्या सीमित करने की क्वेरी

अंतिम 2 एलिमेंट्स प्राप्त करने के लिए $slice: -2 का उपयोग करें:

> db.demo173.find({}, {"ListOfValues": {"$slice": -2}});

आउटपुट:

{ "_id": ObjectId("5e383a4f9e4f06af551997e4"), "ListOfValues": [700, 900] }

$slice के मान:

  • धनात्मक n: पहले n एलिमेंट्स
  • ऋणात्मक n: अंतिम n एलिमेंट्स
  • [skip, limit]: skip एलिमेंट्स छोड़कर limit एलिमेंट्स

उपयोग: पेजिनेशन या बड़े ऐरे से सबसेट प्राप्त करने के लिए उपयोगी।

  1. - MongoDB में Collection में Documents की Number Limit करना

    Collection में documents की number limit करने के लिए capped: true set करें। Size भी वहीँ set करें। Capped Collection बनाना > db.createCollection( demo683, { capped: true, size: 5 ,max:4} ) { ok : 1 } > db.demo683.insertOne({Value:100}); { acknowledged : true, insertedId : ObjectId(5ea468afa7e

  1. - MongoDB क्वेरी: फील्ड के रिटर्निंग वैल्यूज को लिमिट करें

    इसके लिए $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo594.insertOne({ id:1, details:[ {Name:Chris,Age:21}, {Name:Bob,Age:20}, {Name:David,Age:23}, {Name:Sam,Age:22} ] }); { acknowledged : true, insertedId : ObjectId(5e9334

  1. - MongoDB में किसी फ़ील्ड के सभी मानों को विशिष्ट स्ट्रिंग से अपडेट करना

    कलेक्शन के सभी दस्तावेज़ों में किसी फ़ील्ड का मान बदलने के लिए update() के साथ multi: true (या नए वर्जन में updateMany()) का उपयोग करें। डेमो डेटा > db.demo720.insertOne({SubjectName:MySQL}); > db.demo720.insertOne({SubjectName:Java}); > db.demo720.insertOne({SubjectName:C}); > db.demo7