वास्तव में एक कर्सर के साथ कुल से जो मिलता है वह एक नोड ट्रांसफ़ॉर्म स्ट्रीम इंटरफ़ेस है। कुछ अन्य सुविधा विधियों के साथ, विशेष रूप से:
explain: [Function],
get: [Function],
getOne: [Function],
each: [Function],
next: [Function],
जिसे आप केवल console.log
. का उपयोग करके कर्सर ऑब्जेक्ट को डंप करके प्राप्त कर सकते हैं . वे get()
. के साथ स्व-व्याख्यात्मक होने चाहिए विधि .toArray()
. के बराबर है ।
चूंकि यह एक मानक स्ट्रीमिंग इंटरफ़ेस है, इसलिए इस इंटरफ़ेस के अनुसार विधियाँ और ईवेंट हैंडलर उपलब्ध हैं, इसलिए एक उदाहरण के साथ:
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost/test", function(err,db) {
var items = [];
var counter = 0;
var cursor = db.collection('tags').aggregate(
[
{ "$project": {
"t1": 1,
"t2": 1
}}
],
{ "cursor": { "batchSize": 25 } }
);
console.log( cursor );
cursor.on('data', function(data) {
console.log( this ); // dump the current state info
items.push( data );
counter++;
});
cursor.on('end', function() {
console.log( "Iterated " + counter + " times" );
});
});
"डेटा" ईवेंट प्रत्येक कर्सर पुनरावृत्ति के साथ सक्रिय होता है और ऑब्जेक्ट पर गुण दिखाएगा कि स्ट्रीम पूर्ण है या अभी भी पुनरावृत्त हो रही है और इसी तरह।