Kurzor be MongoDB Oktatóanyag: Tanuljon példákkal

⚡ Okos összefoglaló

Kurzor be MongoDB egy mutató, amelyet a db.collection.find() függvény ad vissza az egyező dokumentumok eredményhalmazára. Alapértelmezés szerint automatikusan iterál, de a fejlesztők egyesével is végiglépkedhetnek a dokumentumokon olyan metódusok segítségével, mint a hasNext() és a next().

  • 🖱️ Kurzor definiálva: Egy mutató a db.collection.find() által visszaadott dokumentumokra a MongoDB.
  • 🔁 Automatikus iteráció: Alapértelmezés szerint a kurzor automatikusan ismétlődik, amikor a lekérdezés eredménye visszaadódik.
  • ???? Manuális iteráció: Lépj végig egyesével a dokumentumokon a hasNext() és a next() függvényekkel egy while ciklusban.
  • 📄 Readable output: A tojson() függvénnyel minden dokumentumot olvasható JSON formátumban nyomtathatsz ki.
  • ???? Példa lekérdezés: A find({Employeeid:{$gt:2}}) függvény visszaadja a 2-nél nagyobb azonosítójú alkalmazottakat.

Kurzor be MongoDB

Miben van a kurzor? MongoDB?

Amikor a db.collection.find () A függvény a gyűjteményben lévő dokumentumok keresésére szolgál, az eredmény egy mutatót ad vissza a visszaadott dokumentumok gyűjteményére, amelyet kurzornak nevezünk.

Alapértelmezés szerint a kurzor automatikusan ismétlődik, amikor a lekérdezés eredménye visszakerül. De lehet kifejezetten egyenként is végigmenni a kurzorban visszaadott elemeken. Ha az alábbi példát látja, ha 3 dokumentumunk van a gyűjteményünkben, a kurzorobjektum az első dokumentumra mutat, majd a gyűjtemény összes dokumentumán áthalad.

Kurzor be MongoDB

A következő példa bemutatja, hogyan lehet ezt megtenni.

var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});

	while(myEmployee.hasNext())

	{

		print(tojson(myEmployee.next()));

	}

Code Magyarázat

  1. Először vesszük annak a lekérdezésnek az eredményhalmazát, amely megkeresi azt az alkalmazottat, akinek az azonosítója nagyobb, mint 2, és hozzárendeljük a JavaForgatókönyv 'myEmployee' változó
  2. Ezután a while ciklust használjuk a lekérdezés részeként visszaadott dokumentumok végigjátszására.
  3. Végül minden dokumentumnál kinyomtatjuk az adott dokumentum részleteit JSON olvasható formátumban.

Ha a parancs sikeresen végrehajtásra került, a következő kimenet jelenik meg

teljesítmény

Kurzor be MongoDB

GYIK

Ismételgetsz egy MongoDB kurzort olyan metódusokkal lehet irányítani, mint a hasNext() és a next() egy while ciklusban, vagy a forEach() függvénnyel. Alapértelmezés szerint a shell automatikusan végigpörgeti az első 20 dokumentumot.

A MongoDB A kurzor kötegekben adja vissza a dokumentumokat. Az első köteg legfeljebb 101 dokumentumot vagy 16 MB-ot tartalmazhat, és a parancsértelmező automatikusan megjeleníti az első 20 találatot, mielőtt továbbiakat kérne.

Igen. Alapértelmezés szerint egy MongoDB A kurzor 10 perc inaktivitás után időtúllépést jelez a szerveren. Hosszú ideig futó műveletek esetén ezt a noCursorTimeout beállítással letilthatja.

A mesterséges intelligencia asszisztensei generálhatnak MongoDB lekérdezések keresése, aggregációs folyamatok felépítése, kurzormetódusok magyarázata, és egyszerű nyelvű kérések átalakítása shell vagy illesztőprogram kóddá, helping a fejlesztők gyorsabban lekérdezhetik az adatokat.

Igen. A mesterséges intelligencia eszközei indexeket javasolhatnak, előrejelzéseket javasolhatnak a visszaadott mezők korlátozása érdekében, és megjelölhetik a nem hatékony lekérdezéseket.ping csökkentheti a kurzor feldolgozási idejét és a memóriahasználatot MongoDB alkalmazásokat.

Foglald össze ezt a bejegyzést a következőképpen: