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

MongoDB क्वेरी: यदि एक फ़ील्ड नल है तो दूसरी फ़ील्ड चुनें

$ifNull ऑपरेटर से फॉलबैक वैल्यू प्रदान करें

MongoDB एग्रीगेशन में $ifNull ऑपरेटर का उपयोग करके: यदि पहली एक्सप्रेशन नल या गायब है, तो दूसरी एक्सप्रेशन की वैल्यू लौटाएं।

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

> db.demo182.insertOne({"FirstName": "Chris", "LastName": null});
{ "acknowledged": true, "insertedId": ObjectId("5e398ea19e4f06af55199802") }
> db.demo182.insertOne({"FirstName": null, "LastName": "Miller"});
{ "acknowledged": true, "insertedId": ObjectId("5e398ead9e4f06af55199803") }
> db.demo182.insertOne({"FirstName": "John", "LastName": "Smith"});
{ "acknowledged": true, "insertedId": ObjectId("5e398ebf9e4f06af55199804") }

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

> db.demo182.find();
{ "_id": ObjectId("5e398ea19e4f06af55199802"), "FirstName": "Chris", "LastName": null }
{ "_id": ObjectId("5e398ead9e4f06af55199803"), "FirstName": null, "LastName": "Miller" }
{ "_id": ObjectId("5e398ebf9e4f06af55199804"), "FirstName": "John", "LastName": "Smith" }

नल होने पर दूसरी फ़ील्ड चुनने की क्वेरी

> db.demo182.aggregate([
    {
        $project: {
            "item": 1,
            "Result": { $ifNull: ["$FirstName", "$LastName"] }
        }
    }
])

आउटपुट:

{ "_id": ObjectId("5e398ea19e4f06af55199802"), "Result": "Chris" }
{ "_id": ObjectId("5e398ead9e4f06af55199803"), "Result": "Miller" }
{ "_id": ObjectId("5e398ebf9e4f06af55199804"), "Result": "John" }

पहले डॉक्यूमेंट में FirstName मौजूद है तो वही लिया गया; दूसरे में FirstName नल है तो LastName लिया गया; तीसरे में दोनों मौजूद हैं तो पहला (FirstName) लिया गया।

  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() का उपयोग करें और उसके भीतर डॉट नोटेशन का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo607.insertOne({ id:1, Info1: { Name: Chris, Age: 21, Info2: { SubjectName: MongoDB, Ma

  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