Những gì thực sự được trả về từ tổng hợp bằng con trỏ là giao diện luồng chuyển đổi nút với một số phương pháp tiện lợi khác, đáng chú ý là:
explain: [Function],
get: [Function],
getOne: [Function],
each: [Function],
next: [Function],
Bạn có thể lấy được thứ mà bạn có thể chỉ cần kết xuất đối tượng con trỏ bằng cách sử dụng console.log
. Những điều đó sẽ tự giải thích với get()
phương thức tương đương với .toArray()
.
Vì đây là giao diện phát trực tuyến tiêu chuẩn nên các phương thức và trình xử lý sự kiện có sẵn theo giao diện này, vì vậy với một ví dụ:
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" );
});
});
Sự kiện "dữ liệu" được kích hoạt với mỗi lần lặp lại con trỏ và các thuộc tính trên đối tượng sẽ cho biết liệu luồng đã hoàn thành hay vẫn lặp lại, v.v.