ドキュメントには、「現在、reduce関数からの戻り値を配列にすることはできません(通常はオブジェクトまたは数値です)」と記載されています。
したがって、代わりにオブジェクトを作成し、その中で配列をラップします。また、reduceの出力が入力タイプと同じであることを確認してください。そのため、マップ操作で同様の値を出力する必要があります。
しかし...なぜこれを行うためにMap-Reduceを使用するのですか? _id値を出力する場合、各キーは一意になるため、減らすことはできません。コレクションを繰り返して値をコピーし、各レコードを1つずつ更新してみませんか?