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

MongoDB में $map और $out का उपयोग करके सरणी तत्वों को एम्बेडेड दस्तावेज़ों में बदलना

MongoDB एग्रीगेशन में $map: सरणी तत्व रूपांतरण और $out द्वारा सहेजना

$map सरणी के प्रत्येक तत्व को नए आकार में बदलता है। $out स्टेज परिणाम को उसी संग्रह में ओवरराइट करता है (सावधानी से उपयोग करें)।

नमूना डेटा

> db.demo343.insertOne({_id: 101, UserName: "Chris", details: [{"Name": "John"}, {"Name": "David"}]});
{ "acknowledged": true, "insertedId": 101 }

एग्रीगेशन: प्रत्येक तत्व को {Name: originalObject} में लपेटना

> db.demo343.aggregate([
    {$addFields: {
        details: {$map: {input: "$details", in: {Name: "$$this"}}}
    }},
    {$out: "demo343"}
]);

परिणाम (find के बाद)

{ "_id": 101, "UserName": "Chris", "details": [{"Name": {"Name": "John"}}, {"Name": {"Name": "David"}}] }

प्रत्येक मूल ऑब्जेक्ट {Name: ...} अब {Name: {Name: ...}} में लपेटा गया है। चेतावनी: $out संग्रह को पूरी तरह से बदल देता है। उत्पादन में $merge (MongoDB 4.2+) का उपयोग करना सुरक्षित है।

  1. - PHP में एरे के पहले एलिमेंट कैसे प्राप्त करें?

    PHP में एरे के पहले एलिमेंट को प्राप्त करने के लिए, कोड इस प्रकार है: उदाहरण: डायरेक्ट की एक्सेस 125 ); echo Array value ...\n; echo Value 1 = . $arr[p], \n; ?> आउटपुट Array value ... Value 1 = 150 उदाहरण: reset() फ़ंक्शन 125 ); echo Value 1 = . reset($arr); ?> आउटपुट Value 1 = 150

  1. - C# में लिस्ट संग्रह को सरणी में कैसे बदलें?

    सबसे पहले, एक लिस्ट संग्रह सेट करें:List<string> myList = new List<string>(); myList.Add(RedHat); myList.Add(Ubuntu);अब, लिस्ट को सरणी में बदलने के लिए ToArray() का उपयोग करें:string[] str = myList.ToArray();पूरा कोड निम्नलिखित है:उदाहरणusing System; using System.Collections.Generic; pub

  1. - C# में 2D ऐरे को 1D ऐरे में कैसे कन्वर्ट करें?

    टू-डायमेंशनल ऐरे और वन-डायमेंशनल ऐरे सेट करें:int[,] a = new int[2, 2] {{1,2}, {3,4}}; int[] b = new int[4];2D को 1D ऐरे में कन्वर्ट करने के लिए, टू-डायमेंशनल को वन-डायमेंशनल में सेट करें जिसे हमने पहले घोषित किया था:for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { b[k++] = a[i, j];