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

Transakcje Mongoose.js

Jeśli naprawdę musisz mieć transakcje w wielu typach dokumentów (w osobnych kolekcjach), sposobem na osiągnięcie tego jest jedna tabela, która przechowuje działania do wykonania.

db.actions.insert(
{ actions: [{collection: 'players', _id: 'p1', update: {$set : {name : 'bob'} } },
            {collection: 'stories', _id: 's1', update: {$set : {location: 'library'} } }], completed: false }, callback);

Ta wstawka jest atomowa i wszystko jest zrobione na raz. Następnie możesz wykonać polecenia z kolekcji „actions” i oznaczyć je jako kompletne lub usunąć je po ich zakończeniu, wywołując oryginalne wywołanie zwrotne, gdy wszystkie zostaną zakończone. Działa to tylko wtedy, gdy pętla przetwarzania akcji jest jedyną rzeczą, która aktualizuje bazę danych. Oczywiście będziesz musiał przestać używać mangusty, ale im szybciej to zrobisz, tym lepiej i tak będziesz.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak obsługuje priorytety żądań w express/nodejs?

  2. MongoDB:forEach vs fetch + each

  3. Jak filtrować tablicę obiektów elementów mangusty?

  4. Problemy z CORS. Kolba <-> AngularJS

  5. mgo time.Czas lub kontrola logiczna