¿Es posible que el proyecto $ de mongodb devuelva una matriz?

¿Es posible que el operador de agregación de $ proyectos de MongoDb reestructure el documento en una matriz?

Esto es lo que hice hasta ahora:

var pipeline = []; var project = { $project : { x: "$_id", y: "$y" , _id : 0 } }; pipeline.push(project); model.aggregate( pipeline, callback); 

Esto me da salida de forma:

 [ { x: '...', y: '...' } .... ] 

Me gustaría tener:

 [ ['..','..'] .... ] 

Puedo reestructurar fácilmente la salida iterándola, pero es realmente curioso saber si el agregado en sí mismo podría devolver una matriz en lugar de un objeto.

Podrías probar con el operador $ push.

Por ejemplo, si tuvieras documentos como:

 { _id: , y: 5 } 

En el shell mongo, si escribes

 db.model.aggregate( [ { $group: { _id: null, newArrayField: { $push: { x: "$_id", y: "$y" } } } } ] ) 

Usted obtendría

 { "result" : [ { "_id" : null, "newArrayField" : [ { "x" : ObjectId("5265dd479eb4b1d4289cf222"), "y" : 5 } ] } ], "ok" : 1 } 

Para obtener más información sobre el operador $ push, consulte http://docs.mongodb.org/manual/reference/operator/aggregation/push/

Con MongoDB 3.2 puedes proyectar valores de matriz

 db.model.aggregate({ $project: {arrayField: ['$_id', '$y']} })