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

MongoDB में Array में Specific Value होने पर Boolean Field Add करना

इसके लिए $ifNull का उपयोग करें। यह expression evaluate करता है और expression का value return करता है यदि expression non-null value evaluate करता है।

Collection बनाना

> db.demo542.insertOne({"ListOfName":["Chris","David"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8cabc6ef4dcbee04fbbc17") }
> db.demo542.insertOne({"ListOfName":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8cabc8ef4dcbee04fbbc18") }
> db.demo542.insertOne({"ListOfName":["David"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8cabd3ef4dcbee04fbbc19") }
> db.demo542.insertOne({"Name":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8cabdaef4dcbee04fbbc1a") }

सभी Documents Display करना

> db.demo542.find();

Output:

{ "_id" : ObjectId("5e8cabc6ef4dcbee04fbbc17"), "ListOfName" : [ "Chris", "David" ] }
{ "_id" : ObjectId("5e8cabc8ef4dcbee04fbbc18"), "ListOfName" : null }
{ "_id" : ObjectId("5e8cabd3ef4dcbee04fbbc19"), "ListOfName" : [ "David" ] }
{ "_id" : ObjectId("5e8cabdaef4dcbee04fbbc1a"), "Name" : "John" }

Specific Value Check करने का Query

> var id = "David";
> db.demo542.aggregate([
...   {
...     "$project": {
...       "matched": {
...         "$eq": [
...           {
...             "$size": {
...               "$ifNull": [
...                 { "$setIntersection": [ "$ListOfName", [id] ] },
...                 []
...               ]
...             }
...           },
...           1
...         ]
...       }
...     }
...   }
... ])

Output:

{ "_id" : ObjectId("5e8cabc6ef4dcbee04fbbc17"), "matched" : true }
{ "_id" : ObjectId("5e8cabc8ef4dcbee04fbbc18"), "matched" : false }
{ "_id" : ObjectId("5e8cabd3ef4dcbee04fbbc19"), "matched" : true }
{ "_id" : ObjectId("5e8cabdaef4dcbee04fbbc1a"), "matched" : false }

व्याख्या: $setIntersection array और [id] के common elements return करता है। $ifNull null/empty के लिए empty array return करता है। $size से intersection का size मिलता है। यदि size 1 है तो "David" present है → true, else false।

  1. - C# में BitArray के विशिष्ट स्थान पर बिट मान सेट करना

    परिचय BitArray क्लास बिट मानों (true/false) का एक कॉम्पैक्ट ऐरे प्रदान करता है। किसी विशिष्ट इंडेक्स पर बिट मान सेट करने के लिए Set(int index, bool value) मेथड या इंडेक्सर arr[index] = value का उपयोग किया जा सकता है। उदाहरण 1: Set मेथड का उपयोग using System; using System.Collections; public class

  1. - C# में BitArray के सभी बिट्स को निर्दिष्ट मान पर सेट करना

    उदाहरण 1: सभी बिट्स को true पर सेट करना BitArray के सभी बिट्स को एक साथ true या false पर सेट करने के लिए SetAll() मेथड का उपयोग करें। using System; using System.Collections; public class Demo { public static void Main() { BitArray arr = new BitArray(5); arr[0] = false; a

  1. - Java में बूलियन ऐरे को कैसे इनिशियलाइज़ करें?

    बूलियन ऐरे का उपयोग केवल बूलियन डेटा टाइप मानों को संग्रहीत करने के लिए किया जा सकता है और बूलियन ऐरे का डिफ़ॉल्ट मान false है। बूलियन्स का ऐरे false से इनिशियलाइज़ होता है और रेफरेंस टाइप्स के ऐरे null से इनिशियलाइज़ होते हैं। कुछ मामलों में, हमें बूलियन ऐरे के सभी मानों को true या false से इनिशियल