Здесь он находится на Java. Я смешал варианты no-args и first key-val BasicDBObject
только для разнообразия
DBCollection coll = db.getCollection("foo");
List<DBObject> pipe = new ArrayList<DBObject>();
DBObject prjflds = new BasicDBObject();
prjflds.put("field", 1);
prjflds.put("insensitive", new BasicDBObject("$toLower", "$field"));
DBObject project = new BasicDBObject();
project.put("$project", prjflds);
pipe.add(project);
DBObject sort = new BasicDBObject();
sort.put("$sort", new BasicDBObject("insensitive", 1));
pipe.add(sort);
AggregationOutput agg = coll.aggregate(pipe);
for (DBObject result : agg.results()) {
System.out.println(result);
}
Как уже упоминалось в комментариях - вы не можете сериализовать функции JS с помощью JSON.stringify. Пожалуйста, взгляните на библиотеку serialize-javascript для хранения функций.