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

Zrozumienie znajdowania w węźle/Mongo

Przyznaję, ta sprawa jest trochę dziwna. Oto wersja 2.2 mongodb-native.

Przede wszystkim find ma dwa różne zastosowania . Możesz podać funkcję zwrotną lub nie. Ale w każdym przypadku , zwraca synchronicznie obiekt. Dokładniej jest to kursor .Możemy oczekiwać mechanizmu asynchronicznego podczas przekazywania wywołania zwrotnego, ale nie tutaj.

collection.find({ }, function (err, cursor) {
  assert(!err);
});
console.log('This happens after collection.find({ }, callback)');

LUB

const cursor = collection.find({});
console.log('Also happening after');

Z drugiej strony toArray jest funkcją asynchroniczną i ma również dwa różne zastosowania. Tym razem zwracany obiekt różni się w zależności od argumentów.

Są równoważne:

cursor.toArray(function (err, documents) {
  assert.equal(1, documents.length);
});

ORAZ

cursor.toArray()
  .then(documents => {
    assert.equal(1, documents.length);
  });

W pierwszym wywołaniu toArray zwraca undefined podczas gdy w drugim zwraca Promise .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wielodostępność oparta na kolekcji z Spring Data MongoDB

  2. Jak wyszukiwać w tablicy tablicy obiektów w mongodb

  3. szeregi czasowe i ramy agregacji (mongo)

  4. Przywracanie zrzutu bazy danych starszej wersji mongo do nowej wersji mongo

  5. Nie można nadpisać modelu po skompilowaniu Mongoose