Mam szybkie pytanie, jaki jest szybki sposób na pobranie i usunięcie obiektu z kolekcji mongo. Oto kod, mam obecnie:MongoDB znajdowanie i usuwanie - najszybszy sposób
$cursor = $coll->find()->sort(array('created' => 1))->limit(1);
$obj = $cursor->getNext();
$coll->remove(array('name' => $obj['name']));
jak widać powyżej, to chwyta jeden dokument z bazy danych i usunięcie go (tak, to nie jest przetwarzany ponownie). Jakkolwiek szybko to może być, potrzebuję go do szybszego działania. Wyzwanie polega na tym, że mamy do czynienia z wieloma procesami i przetwarzamy to, co znaleźli, ALE czasami dwa lub więcej procesów chwyta ten sam dokument, co powoduje duplikaty. Zasadniczo muszę to zrobić, aby dokument mógł zostać przechwycony tylko raz. Więc wszelkie pomysły będą mile widziane.
to jest dokładnie to, czego potrzebuję. Dzięki za tonę. Ciekawe, ale jak wyglądałoby to polecenie w PHP? Obecnie zajmuję się tym, ale jeśli mógłbyś dać mi przykład, który byłby świetny. Jeśli dowiem się, jak najpierw, opublikuję kod, który wszyscy zobaczą. – PetersCodeProblems
$ db-> command (array ('findandmodify' => 'CollectionName', 'sort' => array ('created' => 1), 'limit' => 1, 'remove' => true)); – PetersCodeProblems
To jest polecenie dla php – PetersCodeProblems