mongodb - TypeScript, nesne dizisini json dizisine nasıl formatlar
Verileri _attachments değişkeni gibi gönderdim:
O veriyi aşağıdaki yapı olarak eklemek için hazırlamak istiyorum:
"_attachments": [
{
"container": "string",
"fileName": "string",
"name": "string",
"mime": "string",
"size": 0
}
]
Ama yaptığım şey:
for(let key in _attachments) {
job._attachments[key]['container'] = _attachments[key]['container'];
job._attachments[key]['fileName'] = _attachments[key]['fileName'];
job._attachments[key]['name'] = _attachments[key]['name'];
job._attachments[key]['mime'] = _attachments[key]['mime'];
job._attachments[key]['size'] = _attachments[key]['size'];
}
bu hatayı ver:
Unprocessable Entity
Not: Loopback kullanıyorum.
Cevap #1
Bunu attachment.josn dosyanıza ekleyin:
"id": {
"type": "string",
"id": true,
"defaultFn": "uuid"
}
ve veriyi döngüye sokmaya gerek yok.
Cevap #2
Ekran görüntüsünden _attachments bir dizi gibi görünüyor; eğer durum buysa, üzerinde yineleme yapmak için for...in kullanmamalısınız, for..of kullanmalısınız. for..in, potansiyel olarak "istenmeyen" olanlar da dahil tüm sayılabilir özellikleri döndürecektir.
Detaylar için bu mükemmel MDN kaynağının altına bakın (for..of Typescript'te mevcuttur)
for (let index of _attachments) {
...
}
Daha da iyisi, bir harita kullanın
const result = _attachments.map( att => ...)
Ayrıca haritaladığınız yapı, orijinal yapıyla aynı görünüyor, doğrudan atama kullanmamak için neden?
