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

MongoDB forEach()

W MongoDB cursor.forEach() metoda iteruje kursor, aby zastosować funkcję JavaScript do każdego dokumentu od kursora.

Składnia

Składnia wygląda tak:

db.collection.find().forEach(<function>)

Gdzie kolekcja to nazwa kolekcji, w której znajdują się dokumenty.

podpis zawiera pojedynczy argument, który jest przekazywany do przetworzenia przez bieżący dokument.

Przykład

Załóżmy, że mamy kolekcję o nazwie produkty który zawiera następujące trzy dokumenty:

{ "_id" : 1, "product" : "Left Handed Screwdriver" }
{ "_id" : 2, "product" : "Left Blinker" }
{ "_id" : 3, "product" : "Long Weight" }

Możemy użyć forEach() metoda w połączeniu z find() metoda iteracji przez te dokumenty, jednocześnie stosując funkcję JavaScript do każdego dokumentu.

Przykład:

db.products.find().forEach(
  function(p) {
    print(
      p.product.replace("Left","Right")
      );
  }
);

Wynik:

Right Handed Screwdriver
Right Blinker
Long Weight

Błąd?

Jeśli pojawi się błąd, taki jak ten:

uncaught exception: TypeError: db.products.findOne(...).forEach is not a function :
@(shell):1:1

Upewnij się, że używasz find() a nie findOne() .

findOne() Metoda zwraca rzeczywisty dokument, a nie kursor. Dlatego forEach() nie będzie działać z findOne() . Ponadto, nawet jeśli to zadziałało, findOne() zwraca tylko jeden dokument, a zatem nie ma potrzeby przeglądania wielu dokumentów.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Seattle 2014

  2. 5 sposobów na wybranie wierszy o minimalnej wartości dla ich grupy w SQL

  3. Zainicjuj dane na zadokowanym mongo

  4. Wydajność MongoDB:uruchamianie agregacji MongoDB na serwerach pomocniczych

  5. Użyj operatora $gte i <e mongo, jeśli data jest w formacie ciągu w mongodb