Monk - это крошечный слой, который обеспечивает некоторые улучшения удобства использования MongoDB в Node.JS

Особенности (взяты со страницы монахов на github):

  • Буферизация команд. Вы можете сразу же начать запросы.
  • Встроенные обещания для всех запросов. Легкая совместимость с модулями.
  • Простое подключение / настройка
  • Грамотно оформленные подписи
  • Улучшения API MongoDB (например: findAndModify поддерживает update фирменный стиль)
  • Авто-литье _id в запросах
  • Строится поверх монгоскина
  • Позволяет установить глобальные параметры или параметры уровня коллекции для запросов. (например:safe является true по умолчанию для всех запросов)

Подключение

var db = require('monk')('localhost/dbname');

Чтобы установить глобальный мульти-документ на уровне базы данных

db.options.multi = true;

Чтобы установить глобальный мультидокумент на уровне коллекции

db.get('users').options.multi = false;  

Закрыть соединение с БД

db.close(); 

Операции

var collection = db.get('collection');    
collection.insert({ }, function(err) { });
collection.find({ }, function(err, docs) { });
collection.findOne({ }, function(err, doc) { });
collection.update({ }, { }, function(err, docs) { });
collection.findAndModify({ }, { }, function(err, docs) { });
collection.findById('id', function(err, doc) { });
collection.drop(function(err) { });

Индекс

collection.index('name.first', function() { });
Unique Index
collection.index('email', { unique: true });  
Compound Index
collection.index('name.first name.last')   
Compound with sort
collection.index({ 'email': 1, 'password': -1 }); 
To get indexes for a collection
collection.indexes(fn);
Drop an index
collection.dropIndex(name, fn);
Drop all indexes
collection.dropIndexes(fn);