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

MongoDB में अलग-अलग एलिमेंट्स को दूसरे ऐरे में कैसे ले जाएं?

forEach का उपयोग करें और अलग-अलग एलिमेंट्स की जांच करें और कुछ शर्त के साथ save() का उपयोग करें।

नमूना डेटा बनाना (Information ऐरे और खाली different ऐरे)

> db.demo646.insertOne( {
  "Information": [
    { id: 100, Name:"Chris" },
    { id: 100, Name:"Chris" },
    { id: 101, Name:"David" },
    { id: 100, Name:"Chris" }
  ],
  "different": []
} )

अपडेट से पहले दस्तावेज़ देखना

> db.demo646.find().pretty();
{ "Information" : [ { "id" : 100, "Name" : "Chris" }, { "id" : 100, "Name" : "Chris" }, { "id" : 101, "Name" : "David" }, { "id" : 100, "Name" : "Chris" } ], "different" : [ ] }

एलिमेंट्स को दूसरे ऐरे में ले जाने की क्वेरी (id=101 वाले)

> db.demo646.find({}).forEach(function(d) {
  d.different = d.Information.filter(function(v) { return v.id == 101 })
  d.Information = d.Information.filter(function(v) { return v.id != 101 })
  db.demo646.save(d)
} )

अपडेट के बाद दस्तावेज़ देखना

> db.demo646.find().pretty();
{ "Information" : [ { "id" : 100, "Name" : "Chris" }, { "id" : 100, "Name" : "Chris" }, { "id" : 100, "Name" : "Chris" } ], "different" : [ { "id" : 101, "Name" : "David" } ] }

व्याख्या: forEach प्रत्येक दस्तावेज़ को प्रोसेस करता है। JavaScript filter() का उपयोग करके id=101 वाले एलिमेंट्स को different ऐरे में कॉपी करता है, और id!=101 वाले को Information में रखता है। फिर save() पूरे दस्तावेज़ को अपडेट करता है।

  1. - MongoDB एग्रीगेशन: ऐरे के सबसेट एलिमेंट्स को जोड़ें

    ऐरे के सबसेट एलिमेंट्स को एक साथ जोड़ने के लिए, $first के साथ $sum का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo610.insertOne({Values:[10,20,30,40,50]}); { acknowledged : true, insertedId : ObjectId(5e9747b8f57d0dc0b182d62e) } find() मेथड की मदद से कलेक्शन के सभी दस्तावेज

  1. - MongoDB में समान ID वाले दस्तावेज़ों के एलिमेंट्स को एग्रीगेट करना

    अलग-अलग दस्तावेज़ों में समान ID वाले एलिमेंट्स को ग्रुप करने के लिए MongoDB के $group एग्रीगेशन स्टेज का उपयोग करें। डेमो डेटा > db.demo602.insertOne({id:1,Name:Chris}); > db.demo602.insertOne({id:2,Name:David}); > db.demo602.insertOne({id:1,Name:Bob}); > db.demo602.insertOne({id:3,Name

  1. - C++ में दूसरे ऐरे का उपयोग करके ऐरे तत्वों को अधिकतम करना

    समस्या कथन आकार n के दो ऐरे दिए गए हैं, दूसरे ऐरे के तत्वों का उपयोग करके पहले ऐरे को अधिकतम करें जैसे कि नया बना ऐरे दोनों ऐरे के n महानतम लेकिन अद्वितीय तत्वों को समाहित करे, दूसरे ऐरे को प्राथमिकता देते हुए यानी दूसरे ऐरे के सभी तत्व पहले ऐरे से पहले दिखाई दें। तत्वों के प्रकट होने का क्रम आउटपु