MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wpychaj przedmioty do tablicy mongo za pomocą mongoose

Zakładając, var friend = { firstName: 'Harry', lastName: 'Potter' };

Masz dwie opcje:

Zaktualizuj model w pamięci i zapisz (zwykły javascript array.push):

person.friends.push(friend);
person.save(done);

lub

PersonModel.update(
    { _id: person._id }, 
    { $push: { friends: friend } },
    done
);

Zawsze staram się wybrać pierwszą opcję, jeśli to możliwe, ponieważ będzie ona uszanować więcej korzyści, które daje ci mangusta (haczyki, walidacja itp.).

Jednakże, jeśli robisz wiele jednoczesnych zapisów, napotkasz warunki wyścigu, w których skończysz z paskudnymi błędami wersji, które powstrzymają cię od wymiany całego modelu za każdym razem i utraty poprzedniego dodanego przyjaciela. Więc idź do pierwszego tylko wtedy, gdy jest to absolutnie konieczne.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy muszę ręcznie zamknąć połączenie z mangustą?

  2. MongoDB $setUnion

  3. 2 sposoby na uzyskanie rozmiaru dokumentu w MongoDB

  4. C# MongoDB.Driver GetServer już nie istnieje, co teraz?

  5. Konkretny miesiąc zapytania Mongodb | rok nie data