Рекурзивно чисто Фиресторе ФиелдВалуе.делете ()

Блог

Јутрос сам морао побољшати функцију коју смо користили ДецкДецкГо рекурзивно чистити предмете након истрајности. Будући да сам тренутно прилично заузет, али не бих желио превише одлагати своје блогерске навике, дошао сам на идеју да би овај мали хак био лијепа тема за нови пост на блогу 🤗.



Увод

Када користите Цлоуд Фиресторе , да бисте избрисали одређена поља из документа, морате користити | _+_ | када ажурирате документ (као што је приказано у документација ).






На пример, ваша база података садржи документ попут следећег:



FieldValue.delete()

Морали бисте да употребите горњи метод да бисте је уклонили, на пример постављајући је на | _+_ | не би уклонио атрибут већ је само поставио његову вредност на | _+_ | .



{ description: 'Hello World' }

Захваљујући овој методи, пример горњег документа постаје | _+_ | у бази података.






Питање

Ова метода делује као шарм, али може довести до проблема. Заиста, ако не освежавате локални објекат након ажурирања, он ће и даље садржавати методу | _+_ | касније, што не одражава његову ефективну вредност у бази података.

Конкретно, са нашим горњим примером, ако бисмо одштампали | _+_ | на конзолу, његов излаз би био следећи.

null

Ово може довести до неочекиваног понашања у вашој апликацији, ако још увек користите објекат након ажурирања, нарочито ако је то стање.

#фиребасе #програминг #јавасцрипт #фиресторе #веб-девелопмент

итнект.ио

Рекурзивно чисто Фиресторе ФиелдВалуе.делете ()

Како рекурзивно уклонити методе брисања из објекта документа који сте управо ажурирали и имате у меморији. Када користите Цлоуд Фиресторе, да бисте избрисали одређена поља из документа, морате да користите метод ФиелдВалуе.делете () када ажурирате документ (како је приказано у документацији).