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

MongoDB डॉक्यूमेंट में हैश पर $gt कैसे परफॉर्म करें?

MongoDB में डॉट नोटेशन का उपयोग करके नेस्टेड फील्ड पर $gt क्वेरी करना

$gt (ग्रेटर दैन) ऑपरेटर उन डॉक्यूमेंट्स को चुनता है जहां एक फील्ड का मान निर्दिष्ट मान से अधिक है। एम्बेडेड डॉक्यूमेंट्स (हैश/ऑब्जेक्ट्स) के अंदर फील्ड्स पर इसका उपयोग करने के लिए, डॉट नोटेशन का उपयोग करें।

नमूना डेटा बनाना

> db.performQueryDemo.insertOne({
  "PlayerDetails": { "PlayerScore": 1000, "PlayerLevel": 2 },
  "PlayerName": "Chris"
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7eba41a844af18acdffa9") }

> db.performQueryDemo.insertOne({
  "PlayerDetails": { "PlayerScore": 0, "PlayerLevel": 1 },
  "PlayerName": "Robert"
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ebbb1a844af18acdffaa") }

> db.performQueryDemo.insertOne({
  "PlayerDetails": { "PlayerScore": -10, "PlayerLevel": 0 },
  "PlayerName": "Larry"
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ebd41a844af18acdffab") }

> db.performQueryDemo.insertOne({
  "PlayerDetails": { "PlayerScore": 1, "PlayerLevel": 1 },
  "PlayerName": "David"
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ebe31a844af18acdffac") }

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

> db.performQueryDemo.find().pretty();

आउटपुट:

{ "_id" : ObjectId("5cd7eba41a844af18acdffa9"), "PlayerDetails" : { "PlayerScore" : 1000, "PlayerLevel" : 2 }, "PlayerName" : "Chris" }
{ "_id" : ObjectId("5cd7ebbb1a844af18acdffaa"), "PlayerDetails" : { "PlayerScore" : 0, "PlayerLevel" : 1 }, "PlayerName" : "Robert" }
{ "_id" : ObjectId("5cd7ebd41a844af18acdffab"), "PlayerDetails" : { "PlayerScore" : -10, "PlayerLevel" : 0 }, "PlayerName" : "Larry" }
{ "_id" : ObjectId("5cd7ebe31a844af18acdffac"), "PlayerDetails" : { "PlayerScore" : 1, "PlayerLevel" : 1 }, "PlayerName" : "David" }

स्कोर > 0 वाले खिलाड़ियों के लिए क्वेरी करना

> db.performQueryDemo.find({ "PlayerDetails.PlayerScore": { $gt: 0 } });

आउटपुट:

{ "_id" : ObjectId("5cd7eba41a844af18acdffa9"), "PlayerDetails" : { "PlayerScore" : 1000, "PlayerLevel" : 2 }, "PlayerName" : "Chris" }
{ "_id" : ObjectId("5cd7ebe31a844af18acdffac"), "PlayerDetails" : { "PlayerScore" : 1, "PlayerLevel" : 1 }, "PlayerName" : "David" }

व्याख्या

  • PlayerDetails.PlayerScore - डॉट नोटेशन एम्बेडेड PlayerDetails ऑब्जेक्ट के अंदर PlayerScore फील्ड तक पहुंचता है।
  • $gt: 0 - उन डॉक्यूमेंट्स से मेल खाता है जहां नेस्टेड फील्ड मान 0 से सख्ती से अधिक है।
  • Chris (1000) और David (1) मेल खाते हैं; Robert (0) और Larry (-10) नहीं।

तुलना ऑपरेटर्स सारांश

ऑपरेटरअर्थ
$gt> (ग्रेटर दैन)
$gte>= (ग्रेटर दैन इक्वल)
$lt< (कम दैन)
$lte<= (कम दैन इक्वल)
$ne≠ (नॉट इक्वल)
$inसरणी में मौजूद
$ninसरणी में मौजूद नहीं

मुख्य बिंदु

  • नेस्टेड फील्ड्स तक पहुंचने के लिए डॉट नोटेशन (parent.child) का उपयोग करें।
  • तुलना ऑपरेटर्स ($gt, $lt, आदि) नेस्टेड फील्ड्स पर वैसे ही काम करते हैं जैसे टॉप-लेवल फील्ड्स पर।
  • नेस्टेड फील्ड्स पर इंडेक्स बनाए जा सकते हैं: db.collection.createIndex({ "PlayerDetails.PlayerScore": 1 })।
  1. - MongoDB में कैसे पता करें कि एलिमेंट दस्तावेज़ में मौजूद है?

    MongoDB दस्तावेज़ में एलिमेंट मौजूद है या नहीं जांचने के लिए MongoDB $exists का उपयोग करें। नमूना डेटा बनाना db.demo497.insertOne({details:[{}]}); सभी दस्तावेज़ देखना db.demo497.find(); { details : [ { Name : Chris }, { Name : Bob } ] } { details : [ { Name : Carol } ] } { details : [ { } ] } द

  1. - MongoDB में _id द्वारा दस्तावेज़ कैसे हटाएं?

    _id द्वारा हटाने के लिए, MongoDB में remove() का उपयोग करें। निम्न सिंटैक्स है: db.yourCollectionName.remove({_id:yourObjectId}); उपरोक्त सिंटैक्स को समझने के लिए, आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo518.insertOne({ClientName:Chris}); { acknowledged : true, insertedId : ObjectId(5e88

  1. - MongoDB में Document के Fields Access करना

    Document में fields access करने के लिए simply find() का उपयोग करें। Collection बनाना > db.demo565.insertOne( ... { ... id:101, ... Name:David, ... CountryName:US ... } ... ); { acknowledged : true, insertedId : ObjectId(5e90896739cfeaaf0b97b577) } > db.demo565.insertOne( ... { ... id: