NodeJS и MongoDB - простейшие функции

В MongoDB проходить по элементам коллекции можно с помощью итератора, необязательно доставать элементы по одному, как это приходится делать в CouchDB.

Курсор нужен для того чтобы запрашивать объекты из MongoDB по мере необходимости. Т.е., новый документ будет получен только после того как будет вызван each()/nextObject()/toArray().

collection.count(function(err, count) {
sys.puts("There are " + count + " records in the test collection. Here they are:");

// Получаем все элементы коллекции с помощью find()
collection.find(function(err, cursor) {

cursor.each(function(err, item) {

// Null обозначает последний элемент
if (item != null) {
    sys.puts(sys.inspect(item));
} else {
    sys.puts("That's all!");
}

});
});
});

Можно также производить поиск по коллекции, доставая только элементы с нужными свойствами:

db.collection('test', function(err, collection) {

collection.insert({'name':'Robert', 'age': 12});
collection.insert({'name':'Agatha', 'age': 20});
collection.insert({'name':'Sam', 'age': 6});

// Получаем все элементы с age = 6
collection.find({'age': 6}, function(err, cursor) {
// Преобразовываем их в массив
cursor.toArray(function(err, items) {
// items - массив документов с age = 6
});
});
});

Удаление документов из коллекции:

db.collection('test', function(err, collection) {
// Удаляем элементы с age = 20
collection.remove({'age': 20}, function(err, collection) {
// Удаляем все элементы
collection.remove(function(err, collection) {
// Все элементы удалены
});
})
});

источник