Как использовать Агрегат в мангусте

Как определить следующий агрегированный запрос MongoDB в мангусте:

db.contacts.aggregate([{$group: { "_id": { code: "$Code", name: "$Name" } } }]) 

objective запроса – вывести список отдельных кодов и имен.

Мой текущий код модели:

 'use strict'; var mongoose = require('mongoose'), Schema = mongoose.Schema, ObjectId = Schema.ObjectId; var fields = { Code: { type: String }, Name: { type: String } }; var contactSchema = new Schema(fields); module.exports = mongoose.model('Contacts', contactSchema); 

Маршрутизатор выглядит так:

 api.contacts = function (req, res) { Contacts.find({ AgencyTranslation: /^BROADCASTING/ }, function(err, contacts) { if (err) { res.json(500, err); } else { res.json({contacts: contacts}); } }); 

Я попробовал различные варианты, также посмотрел пример кода на: mongoose API docs , но я не могу заставить его работать.

(Примечание: вышеуказанный запрос работает на консоли MongoDB.)

Попробуй это

 Contacts.aggregate({$group: { "_id": { code: "$Code", name: "$Name" } } }, function(err, contacts) { ... }); 

Или, с $match если вам нужно это AgencyTranslation: /^BROADCASTING/ condition

 Contacts.aggregate([ { $match : { AgencyTranslation: /^BROADCASTING/ } }, { $group: { "_id": { code: "$Code", name: "$Name" } } } ], function(err, contacts) { // ... });