2016-04-07 13 views
0

deepstream Record yoluyla kayıt Alanı sil, ben bir JSON nesnesi var düşünün:Ben örneğin, belge iç içe alanını temizlemek için bir yol arıyorum

{ 
    fieldToClean: { 
    fieldA: '..', 
    fieldB: '..', 
    fieldC: '..' 
    } 
} 

ben artık Fieldb ihtiyacım yok biliyorum. Acaba

var record = deepstream.record.getRecord('<proper path>') 
record.whenReady(function(){ 
    var fieldToClean = record.get('fieldToClean') 
    delete fieldToClean.fieldB 
    record.set('fieldToClean', fieldToClean) 
}) 

deepstream gibi bir şey sağlıyorsa:

record.delete('fieldToClean.fieldB') 

veya

record.set('fieldToClean.fieldB', undefined) 

ben belgelerinde böyle bir şey bulmak mümkün değildi ben gibi görünen çözüm buldu .

Zaman ayırdığınız için teşekkür ederiz!

cevap

1

Aslında bu açık için bir sorun var, ana tasarım sorusu dizideki bir dizinin silinmesiyle ilgilidir. Bu bir boş veya ek var mı? Görüşlerinizi almak için harika olun!

https://github.com/deepstreamIO/deepstream.io/issues/29

+0

Belki ben soruyorum durum biraz farklıdır. Bana link gönderdiğin sorun, bir nesneyi dizi alanından çıkarmaktır - biraz daha karmaşıktır. Derin akıştan beklediğim şey, (alt) alan adının, kaydı kısmen değiştirdiğimiz şekilde olduğu gibi kaldırmasıdır: record.set ('myField.mySubfield', 'value'). Yani şöyle görünebilir: record.delete ('myField.mySubfield'). Bunun için bir sorun oluşturmanın ya da üzerinde çalıştığınız sorunun aynı olup olmadığını anlamamıza izin verin. –

+0

Açılan konu söz konusu olduğunda, ekleme alanını beklerim, böylece dizi alanında boş öğeler olmaz. Yukarıdaki örnekte beklediğim işlevsellik hakkında konuşmak, alanın tanımsız hale geldiğini görmek isterim. –

+0

Gerçekten de silme işlemini yıkıcı bir yöntem olarak kullanmak istemiyoruz ve koddaki bir hata nedeniyle tanımlanmamış olarak çağrılırsa, verileri yanlışlıkla sunucudan silecektiniz. Ayrıca, bu mantığı sunucuya veya istemcilere ekleyeceğimizden de emin değilim, çünkü istemcide yapabildiğimiz tek yöntem, sizin belirttiğiniz yöntemdir ve sunucu üzerinden yeni bir eylem gerektirir. protokol. Notlarınızı github sorununa ekleyebiliyorsanız, bir API/tasarım oluşturduktan sonra bunu uygulamaya başlayabileceğimiz için çok kullanışlı ol, çünkü çok kullanışlı bir özellik. – yasserf

İlgili konular