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

MongoDB में _id फ़ील्ड को छोड़कर सभी मान प्रदर्शित करें

MongoDB एग्रीगेशन में $project का उपयोग करके फ़ील्ड्स चयन करना

MongoDB एग्रीगेशन पाइपलाइन में $project स्टेज का उपयोग करके आप निर्दिष्ट कर सकते हैं कि कौन से फ़ील्ड्स शामिल करने हैं, _id को दबा सकते हैं, नए फ़ील्ड्स जोड़ सकते हैं, या मौजूदा फ़ील्ड्स के मान रीसेट कर सकते हैं।

सैंपल डेटा बनाना

> db.demo226.insertOne({"Name":"Chris","Age":21});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3f9be803d395bdc2134738") }
> db.demo226.insertOne({"Name":"Bob","Age":20});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3f9bf003d395bdc2134739") }
> db.demo226.insertOne({"Name":"David","Age":22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3f9bf803d395bdc213473a") }

सभी दस्तावेज़ देखना (डिफ़ॉल्ट _id के साथ)

> db.demo226.find();

आउटपुट:

{ "_id" : ObjectId("5e3f9be803d395bdc2134738"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e3f9bf003d395bdc2134739"), "Name" : "Bob", "Age" : 20 }
{ "_id" : ObjectId("5e3f9bf803d395bdc213473a"), "Name" : "David", "Age" : 22 }

_id को छोड़कर कस्टम फ़ील्ड नामों के साथ प्रोजेक्शन

> db.demo226.aggregate([
    {$project: {
        _id: false,
        "StudentFirstName": "$Name",
        "StudentAge": "$Age"
    }}
]);

आउटपुट:

{ "StudentFirstName" : "Chris", "StudentAge" : 21 }
{ "StudentFirstName" : "Bob", "StudentAge" : 20 }
{ "StudentFirstName" : "David", "StudentAge" : 22 }

महत्वपूर्ण नोट्स

  • _id: false या _id: 0 - _id फ़ील्ड को आउटपुट से बाहर करता है
  • "NewField": "$ExistingField" - मौजूदा फ़ील्ड का मान नए फ़ील्ड नाम के साथ प्रोजेक्ट करता है
  • find() में भी प्रोजेक्शन संभव है: db.demo226.find({}, {_id: 0, Name: 1, Age: 1})
  • एग्रीगेशन अधिक जटिल ट्रांसफॉर्मेशन के लिए लचीला है
  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

  1. - MongoDB क्वेरी: फील्ड मानों में "@email" जैसे स्ट्रिंग की खोज करें

    MongoDB find() का उपयोग करके ईमेल स्ट्रिंग खोजें। आइए एक कलेक्शन बनाते हैं: > db.demo727.insertOne({UserId:John@email.com}); { acknowledged : true, insertedId : ObjectId(5eab375f43417811278f5898) } > db.demo727.insertOne({UserId:John@yahoo.com}); { acknowledged : true, insertedId : ObjectId(5