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

भूमिकाओं के आधार पर केवल "नाम" फ़ील्ड लाने के लिए MongoDB क्वेरी?


इसके लिए एग्रीगेट () का प्रयोग करें। यहां, हमने 3 भूमिकाओं पर विचार किया है - व्यवस्थापक, अतिथि और उपयोगकर्ता। आइए दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo532.insertOne({"Name":"Chris","Type":"Admin"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8b4a9def4dcbee04fbbbf9")
}
> db.demo532.insertOne({"Name":"David","Type":"Guest"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8b4aa3ef4dcbee04fbbbfa")
}
> db.demo532.insertOne({"Name":"Bob","Type":"User"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8b4ab0ef4dcbee04fbbbfb")
}

संग्रह से सभी दस्तावेज़ ढूंढें () विधि की सहायता से प्रदर्शित करें -

> db.demo532.find();

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

{ "_id" : ObjectId("5e8b4a9def4dcbee04fbbbf9"), "Name" : "Chris", "Type" : "Admin" }
{ "_id" : ObjectId("5e8b4aa3ef4dcbee04fbbbfa"), "Name" : "David", "Type" : "Guest" }
{ "_id" : ObjectId("5e8b4ab0ef4dcbee04fbbbfb"), "Name" : "Bob", "Type" : "User" }

एक अद्वितीय दस्तावेज़ प्राप्त करने के लिए निम्नलिखित क्वेरी है, जिसकी उसी संग्रह में अन्य दस्तावेज़ों के साथ तुलना करने की आवश्यकता है -

> db.demo532.aggregate([
...    {$group: {_id:"$Name", "types":{$addToSet:"$Type"}}},
...    {$project: {_id:1, "types": 1, "isSubset": { $setIsSubset: [ ["Admin"], "$types" ] }}},
...    {$match: {"isSubset": false}},
...    {$group: {_id:"$isSubset", "Name": {$push : "$_id"}}},
...    {$project: {"_id": 0, "Name": 1}},
...    {$unwind: "$Name"}
... ])

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

{ "Name" : "David" }
{ "Name" : "Bob" }

  1. MongoDB क्वेरी किसी फ़ील्ड के लौटने वाले मानों को सीमित करने के लिए?

    इसके लिए $slice का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo594.insertOne( ...    { ...       id:1, ...       details:[ ...          {Name:"Chris",Age:21}, ...          {Name:&q

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

    MongoDB खोज () का उपयोग करके ईमेल स्ट्रिंग खोजें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo727.insertOne({UserId:Chris@EMAIL.com});{ स्वीकृत :सच, insertId :ObjectId(5eab376143417811278f589a)} संग्रह से सभी दस्तावेज़ ढूंढें () विधि की सहायता से प्रदर्शित करें - db.demo727.find(); यह निम्नलि

  1. किसी अन्य फ़ील्ड में बूलियन मान के आधार पर केवल एक फ़ील्ड लाने के लिए MySQL क्वेरी

    आइए पहले एक टेबल बनाएं - तालिका बनाएं DemoTable( EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY, EmployeeName varchar(40), isMarried boolean);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.57 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल (कर्मचारी नाम, विवाहित) मान (टॉम, सत्य)