2017-03-18 88 views
-1

您是否知道是否有簡單的方法可以將更多數據添加到循環中的文檔中?下面 文件提出我希望什麼:在循環中擴展結構/文檔

{ 
    _id: 'mydoc', 
    _attachments: { 
    'myattachment1.txt': { 
     content_type: 'text/plain', 
     data: blob1 
    }, 
    'myattachment2.txt': { 
     content_type: 'text/plain', 
     data: blob2 
    }, 
    'myattachment3.txt': { 
     content_type: 'text/plain', 
     data: blob3 
    }, 
    } 
} 

我想延長部分「_attachments:」在一個循環中,使我能夠添加新的數據。例如,可以爲循環運行3次添加每個附件。這如何輕鬆實現?

-----------編輯--------------- 預期結果:

{ 
    _id: 'mydoc', 
    _attachments: { 
    'myattachment1.txt': { 
     content_type: 'text/plain', 
     data: blob1 
    }, 
    'myattachment2.txt': { 
     content_type: 'text/plain', 
     data: blob2 
    }, 
    'myattachment3.txt': { 
     content_type: 'text/plain', 
     data: blob3 
    }, 
    'myattachment4.txt': { 
     content_type: 'text/plain', 
     data: blob4 
    }, 
    } 
} 
+0

您使用單詞「文檔」和上面的外觀表明您使用的是MongoDB?那是對的嗎?目標是在一個循環中添加到MongoDB中的文檔中? –

+0

你想添加一個元素到_attachments?例如:myattachment4.txt?或屬性到_attachments字段中的每個元素? – ospfranco

+0

嗨,@ T.J。 Crowder:我在構建小型電子應用程序時使用了pouchDB; – Lormitto

回答

1

在結構中插入一個新的領域您有:

const data = { 
 
    _id: 'mydoc', 
 
    _attachments: { 
 
    'myattachment1.txt': { 
 
     content_type: 'text/plain', 
 
     data: 'blob1' 
 
    }, 
 
    'myattachment2.txt': { 
 
     content_type: 'text/plain', 
 
     data: 'blob2' 
 
    }, 
 
    'myattachment3.txt': { 
 
     content_type: 'text/plain', 
 
     data: 'blob3' 
 
    }, 
 
    } 
 
} 
 

 
Object 
 
    .keys(data._attachments) 
 
    .forEach(key => { 
 
    data._attachments[key].myNewField = 'foo'; 
 
    }); 
 
    
 
console.log(data);

至少我認爲這就是你以後有什麼,因爲說的意見,你可能會使用蒙戈。

0

最後這可以工作。

似乎我需要更熟悉語言本身。

varNewAttachment = "XYZ.txt"; 
    varNewAttachmentValue = { 
     content_type: 'text/plain', 
     data: 'blob1' 
    }; 

data._attachments[varNewAttachment] = varNewAttachmentValue ;