$substr ऑपरेटर (या $substrCP) से स्ट्रिंग का सबस्ट्रिंग निकालें
MongoDB एग्रीगेशन में $substr (या नए संस्करणों में $substrCP) ऑपरेटर का उपयोग करके स्ट्रिंग फ़ील्ड का एक भाग निकालें। सिंटैक्स: {$substr: ["$field", startIndex, length]}।
उदाहरण: संग्रह बनाना
> db.demo176.insertOne({"ProductName": "PRODUCT-1"});
{ "acknowledged": true, "insertedId": ObjectId("5e3843a09e4f06af551997ef") }
> db.demo176.insertOne({"ProductName": "PRODUCT-102"});
{ "acknowledged": true, "insertedId": ObjectId("5e3843a69e4f06af551997f0") }
> db.demo176.insertOne({"ProductName": "PRODUCT-105"});
{ "acknowledged": true, "insertedId": ObjectId("5e3843aa9e4f06af551997f1") }
सभी डॉक्यूमेंट्स देखना
> db.demo176.find();
{ "_id": ObjectId("5e3843a09e4f06af551997ef"), "ProductName": "PRODUCT-1" }
{ "_id": ObjectId("5e3843a69e4f06af551997f0"), "ProductName": "PRODUCT-102" }
{ "_id": ObjectId("5e3843aa9e4f06af551997f1"), "ProductName": "PRODUCT-105" }
सबस्ट्रिंग प्राप्त करने की एग्रीगेशन क्वेरी
प्रत्येक ProductName के पहले 7 कैरेक्टर (इंडेक्स 0 से लंबाई 7) निकालें:
> db.demo176.aggregate([
{
$project: {
ProductName: { $substr: ["$ProductName", 0, 7] }
}
}
])
आउटपुट:
{ "_id": ObjectId("5e3843a09e4f06af551997ef"), "ProductName": "PRODUCT" }
{ "_id": ObjectId("5e3843a69e4f06af551997f0"), "ProductName": "PRODUCT" }
{ "_id": ObjectId("5e3843aa9e4f06af551997f1"), "ProductName": "PRODUCT" }
सभी में "PRODUCT" आया क्योंकि पहले 7 कैरेक्टर वही हैं।
नोट:
$substrबाइट्स पर काम करता है; यूनिकोड (मल्टी-बाइट कैरेक्टर्स) के लिए$substrCP(कोड पॉइंट्स) या$substrBytesउपयोग करें।