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

MongoDB क्वेरी में फील्ड से लौटाए जाने वाले वर्णों की संख्या कैसे सीमित करें?

MongoDB में स्ट्रिंग फील्ड के केवल पहले N वर्ण प्राप्त करने के लिए एग्रीगेशन में $substr (या $substrBytes/$substrCP) ऑपरेटर का उपयोग करें।

उदाहरण

लंबे शीर्षक वाले दस्तावेज़ बनाएं:

> db.limitTheNumberOfCharactersDemo.insertOne({"Title": "MongoDB is No SQL database"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf23013b64a577be5a2bc0e") }
> db.limitTheNumberOfCharactersDemo.insertOne({"Title": "MySQL is a relational database"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf2302db64a577be5a2bc0f") }

दस्तावेज़ देखें:

> db.limitTheNumberOfCharactersDemo.find().pretty();
{ "_id" : ObjectId("5cf23013b64a577be5a2bc0e"), "Title" : "MongoDB is No SQL database" }
{ "_id" : ObjectId("5cf2302db64a577be5a2bc0f"), "Title" : "MySQL is a relational database" }

पहले 20 वर्ण प्राप्त करें

> db.limitTheNumberOfCharactersDemo.aggregate([
  {
    $project: {
      Characters: { $substr: ["$Title", 0, 20] }
    }
  }
]);

आउटपुट:

{ "_id" : ObjectId("5cf23013b64a577be5a2bc0e"), "Characters" : "MongoDB is No SQL da" }
{ "_id" : ObjectId("5cf2302db64a577be5a2bc0f"), "Characters" : "MySQL is a relationa" }

व्याख्या:

  • $substr: [string, start, length] - स्ट्रिंग से सबस्ट्रिंग निकालता है
  • 0 - शुरुआत से (0-आधारित इंडेक्स)
  • 20 - 20 वर्ण की लंबाई

आधुनिक ऑपरेटर (MongoDB 3.4+)

ऑपरेटरव्यवहार
$substrBytesबाइट-आधारित (UTF-8 में बहु-बाइट वर्ण काट सकते हैं)
$substrCPकोड पॉइंट-आधारित (यूनिकोड वर्ण सही गिनता है)

अनुशंसा: यूनिकोड/हिंदी टेक्स्ट के लिए $substrCP उपयोग करें:

{$project: {preview: {$substrCP: ["$Title", 0, 50]}}}

उपयोग: सूची दृश्य, पूर्वावलोकन, खोज परिणाम स्निपेट के लिए उपयोगी।

  1. फॉर्म इनपुट टेक्स्ट फ़ील्ड में अनुमत कैरेक्टर्स की संख्या कैसे सीमित करें? फॉर्म इनपुट टेक्स्ट फ़ील्ड में अनुमत कैरेक्टर्स की संख्या कैसे सीमित करें?

    HTML <input> टैग का उपयोग HTML में उपयोगकर्ता इनपुट प्राप्त करने के लिए किया जाता है। इनपुट फ़ील्ड को सीमित करने के लिए, min और max एट्रिब्यूट्स का उपयोग करें, जो क्रमशः इनपुट फ़ील्ड के लिए अधिकतम और न्यूनतम मान निर्दिष्ट करते हैं।कैरेक्टर्स की संख्या सीमित करने के लिए, maxlength एट्रिब्यूट का

  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. - MySQL में डेटाबेस फ़ील्ड से विशेष वर्ण कैसे हटाएं?

    REPLACE() फंक्शन का उपयोग करें डेटाबेस फ़ील्ड से विशेष वर्ण (जैसे $, #, %, आदि) हटाने के लिए REPLACE() फंक्शन का उपयोग करके उन्हें खाली स्ट्रिंग से बदलें। सिंटैक्स UPDATE yourTableName SET yourColumnName = REPLACE(yourColumnName, yourSpecialCharacter, ); व्यावहारिक उदाहरण: $ चिह्न हटाना टेबल ब