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

MongoDB में $and से ऐरे में दो विशिष्ट ID वाले डॉक्यूमेंट खोजें

MongoDB में $and ऑपरेटर से ऐरे के अंदर दो ID एक साथ खोजना

ऐरे के अंदर ऑब्जेक्ट में दो अलग-अलग ID दोनों मौजूद हों, ऐसे डॉक्यूमेंट खोजने के लिए $and ऑपरेटर उपयोग करें।

कलेक्शन बनाएं और डॉक्यूमेंट इन्सर्ट करें

> db.twoSpecificIdsDemo.insertOne({
  PlayerId: 1,
  "PlayerDetails": [
    {id: 100, "PlayerName": "Chris"},
    {id: 101, "PlayerName": "Sam"},
    {id: 102, "PlayerName": "Robert"},
    {id: 103, "PlayerName": "Carol"}
  ]
});
{ "acknowledged": true, "insertedId": ObjectId("5cd3e130edc6604c74817ce4") }

> db.twoSpecificIdsDemo.insertOne({
  PlayerId: 1,
  "PlayerDetails": [
    {id: 104, "PlayerName": "Mike"},
    {id: 105, "PlayerName": "Bob"},
    {id: 102, "PlayerName": "Ramit"},
    {id: 106, "PlayerName": "David"}
  ]
});
{ "acknowledged": true, "insertedId": ObjectId("5cd3e167edc6604c74817ce5") }

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

> db.twoSpecificIdsDemo.find().pretty();
{
  "_id": ObjectId("5cd3e130edc6604c74817ce4"),
  "PlayerId": 1,
  "PlayerDetails": [
    {"id": 100, "PlayerName": "Chris"},
    {"id": 101, "PlayerName": "Sam"},
    {"id": 102, "PlayerName": "Robert"},
    {"id": 103, "PlayerName": "Carol"}
  ]
}
{
  "_id": ObjectId("5cd3e167edc6604c74817ce5"),
  "PlayerId": 1,
  "PlayerDetails": [
    {"id": 104, "PlayerName": "Mike"},
    {"id": 105, "PlayerName": "Bob"},
    {"id": 102, "PlayerName": "Ramit"},
    {"id": 106, "PlayerName": "David"}
  ]
}

ID 102 AND 103 दोनों वाले डॉक्यूमेंट खोजें

> db.twoSpecificIdsDemo.find({
  $and: [
    {"PlayerDetails.id": 102},
    {"PlayerDetails.id": 103}
  ]
}).pretty();
{
  "_id": ObjectId("5cd3e130edc6604c74817ce4"),
  "PlayerId": 1,
  "PlayerDetails": [
    {"id": 100, "PlayerName": "Chris"},
    {"id": 101, "PlayerName": "Sam"},
    {"id": 102, "PlayerName": "Robert"},
    {"id": 103, "PlayerName": "Carol"}
  ]
}

क्यों $and जरूरी है

  • {"PlayerDetails.id": 102, "PlayerDetails.id": 103} लिखने पर दूसरा पहले को ओवरराइट कर देता (क्योंकि JSON ऑब्जेक्ट में डुप्लिकेट की नहीं)
  • $and दोनों कंडीशन को अलग-अलग ऑब्जेक्ट में रखकर लागू करता है
  • MongoDB ऐरे फ़ील्ड पर क्वेरी में प्रत्येक कंडीशन अलग-अलग ऐरे एलिमेंट पर मैच कर सकती है

एक ही एलिमेंट पर दोनों कंडीशन के लिए: $elemMatch

db.twoSpecificIdsDemo.find({
  PlayerDetails: {
    $elemMatch: {id: {$in: [102, 103]}}
  }
})
// यह अलग है: एक ही एलिमेंट में 102 या 103 हो
  1. - MongoDB में सरणी के भीतर मिलान ऑब्जेक्ट्स की संख्या के आधार पर डॉक्यूमेंट्स कैसे ढूंढें?

    आइए एक उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo694.insertOne( ... { details : [ { Name : Chris, Age:21 }, { Name : David, Age:22 } ] } ); { acknowledged : true, insertedId : ObjectId(5ea59279ece4e5779399c07f) } > db.demo694.insertOne( ... { details : [ { Name :

  1. - MongoDB दस्तावेजों में विशिष्ट मान से ऊपर के मान खोजें

    विशिष्ट मान से ऊपर के मान खोजने के लिए, MongoDB में $gte का उपयोग करके सिंटैक्स निम्न है: db.yourCollectionName.find({yourFieldName:{$gte:yourValue}}); आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo571.insertOne({Price:140}); { acknowledged : true, insertedId : ObjectId(5e909b3439cfeaaf0b

  1. - MongoDB में विशिष्ट नेस्टेड डॉक्यूमेंट्स के लिए ऑब्जेक्ट्स की सरणी पर क्वेरी कैसे करें?

    ऑब्जेक्ट्स की सरणी के लिए नेस्टेड डॉक्यूमेंट्स पर क्वेरी करने के लिए find() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo763.insertOne( { _id:1, CountryName:US, studentInformation: [ { StudentName:Chris }, { StudentName:David, StudentAge:22 } ] } ); { acknowledged : true, insertedId : 1 } f