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

MongoDB में $lte और $in के साथ वैल्यू कैसे क्वेरी करें

$not और $gt का उपयोग करके $lte और $in जैसी शर्त लागू करें

MongoDB में किसी ऐरे फ़ील्ड पर $lte (कम या बराबर) और $in जैसी शर्तों को संयोजित करने के लिए कभी-कभी $not और $gt का उपयोग करना पड़ता है।

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

> db.queryMongoValueDemo.insertOne({
    _id: 101,
    "ScoreDetails": [{"Score": 80}, {"Score": 45}, {"Score": 25}, {"Score": 70}]
});
{ "acknowledged": true, "insertedId": 101 }
> db.queryMongoValueDemo.insertOne({
    _id: 102,
    "ScoreDetails": [{"Score": 80}, {"Score": 24}, {"Score": 34}]
});
{ "acknowledged": true, "insertedId": 102 }
> db.queryMongoValueDemo.insertOne({
    _id: 103,
    "ScoreDetails": [{"Score": 99}, {"Score": 95}]
});
{ "acknowledged": true, "insertedId": 103 }

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

> db.queryMongoValueDemo.find().pretty();
{
    "_id": 101,
    "ScoreDetails": [{"Score": 80}, {"Score": 45}, {"Score": 25}, {"Score": 70}]
}
{
    "_id": 102,
    "ScoreDetails": [{"Score": 80}, {"Score": 24}, {"Score": 34}]
}
{
    "_id": 103,
    "ScoreDetails": [{"Score": 99}, {"Score": 95}]
}

$lte और $in जैसी शर्त के लिए क्वेरी

यह क्वेरी उन डॉक्यूमेंट्स को ढूंढती है जहां ScoreDetails.Score 80 के बराबर है और 80 से अधिक नहीं है (यानी <= 80 और 80 मानों में से एक):

> db.queryMongoValueDemo.find({
    "ScoreDetails.Score": {
        "$eq": 80,
        "$not": { "$gt": 80 }
    }
});

आउटपुट:

{
    "_id": 101,
    "ScoreDetails": [{"Score": 80}, {"Score": 45}, {"Score": 25}, {"Score": 70}]
}
{
    "_id": 102,
    "ScoreDetails": [{"Score": 80}, {"Score": 24}, {"Score": 34}]
}

दोनों डॉक्यूमेंट्स में कम से कम एक Score: 80 है और कोई स्कोर 80 से अधिक नहीं है (पहले डॉक्यूमेंट में 80, 45, 25, 70 हैं; दूसरे में 80, 24, 34 हैं)।

स्पष्टीकरण: $eq: 80 मान 80 से मेल खाता है, और $not: {$gt: 80} सुनिश्चित करता है कि उसी ऐरे में कोई मान 80 से बड़ा न हो। यह संयोजन प्रभावी रूप से "<= 80 और 80 मौजूद है" लागू करता है।

  1. - MongoDB क्वेरी को कैसे विभाजित करें और 5 मान छोड़ें?

    MongoDB में मान छोड़ने के लिए skip() के साथ limit() का उपयोग करें। 5 मानों के लिए limit(5) का उपयोग करें। नमूना डेटा बनाना (10 से 80 तक मान) db.demo633.insertOne({Value:80}); सभी दस्तावेज़ देखना db.demo633.find(); { Value : 10 }, { Value : 20 }, { Value : 30 }, { Value : 40 } { Value : 50 }, { V

  1. - MongoDB एग्रीगेशन में अधिकतम मान के साथ सरणी तत्वों को कैसे मिलाएं और समूहित करें?

    इसके लिए, MongoDB में $group के साथ $max का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo510.insertOne( { details:[ { Name:Chris, Score:56 }, { Name:David, Score:45 } ] }); { acknowledged : tru

  1. - MongoDB में फॉर लूप के साथ मान कैसे पुश करें?

    मान पुश करने के लिए फॉर लूप के साथ save() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > for(var v=1; v<7; v++) { ... db.demo739.save({Name:Chris,SubjectName:MongoDB}); ... } WriteResult({ nInserted : 1 }) find() से सभी डॉक्यूमेंट्स देखें: > db.demo739.find(); आउटपुट (6 डॉक्यूमेंट्स डाले गए): { _