Your syntax for the aggregate command appears to be incorrect.
See this example from the docs for aggregate:
db.runCommand(
{ aggregate : "article", pipeline : [
{ $project : {
author : 1,
tags : 1,
} },
{ $unwind : "$tags" },
{ $group : {
_id : "$tags",
authors : { $addToSet : "$author" }
} }
] }
);
If you run the Mongo shell from the command line, you can test your command directly right there, before writing it in Objective-C.