2017-03-18 64 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 ;