Kütləvi yeniləmə və çoxlu yeniləmə arasındakı MongoDB fərqi nədir?


cavab 1:

Tək bir sənədi yeniləmək üçün "tək" yeniləmə prosesindən istifadə edilə bilər (bu vəziyyətdə normal olaraq {_id: ...} yerini göstərərdiniz.

Bir "Multi", əsasən "hər yerdə yeniləmə" olan SQL-də bir yeniləmə prosesi ilə eynidır.

Batch əməliyyatları (toplu yazılar) bir çox yazının eyni vaxtda bir müştəri tərəfindən yerinə yetirildiyi zaman əsasən səmərəlilik səbəbindən mövcuddur. Bəzən hər bir nəticəyə fərdi baxmaqdan daha çox əməliyyat üçün səhv / müvəffəqiyyət kodlarını bərpa etmək daha zərifdir.

Niyə tək bir yeniləmə var (updateOne), konsepsiya niyə lazımdır? Texniki olaraq belə deyil. Başlanğıcda, fikir fərdi bir sənədin yenilənməsindən sonra serverin "axtardığını" bilirsə, növbəti indeks açarının fərqli olduğunu söyləmək əvəzinə dayandırmaq daha səmərəlidir. Ayrıca, bir sənədin əvəzinə bütün sənədləri bir kolleksiyada təsadüfən yeniləyən bəzi yağ barmaq tipli səhvlərin qarşısını ala bilər. Keçmişdə, yeniləmə termininin yaxşı və ya pis olduğuna əmin deyiləm. Bəlkə də buna dəyərdir, çünki sənədlər çox vaxt çox böyük və daha çox obyektə bənzəyir. Buna görə onları ayrı-ayrılıqda almaq və yerləşdirmək bəzən olduqca təbiidir.