您是否知道是否有简单的方法可以在循环中向文档中添加更多数据? 下面的文件介绍了我的理想:
{
_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 :(得分: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);

至少我认为这就是你所追求的,正如评论中所说,你可能正在使用mongo。
答案 1 :(得分:0)
最后这可行。
似乎我需要更熟悉语言本身。
varNewAttachment = "XYZ.txt";
varNewAttachmentValue = {
content_type: 'text/plain',
data: 'blob1'
};
data._attachments[varNewAttachment] = varNewAttachmentValue ;