Вы можете сделать это с помощью $unwind
в массиве updates
, отсортировав результирующие документы с помощью date
, а затем $group
объединив их на _id
, используя отсортированный порядок.
db.servers.aggregate(
{$unwind: '$service.apps.updates'},
{$sort: {'service.apps.updates.date': 1}},
{$group: {_id: '$_id', 'updates': {$push: '$service.apps.updates'}}},
{$project: {'service.apps.updates': '$updates'}})
В первую очередь, как Orion Edwards сказал, удостоверяются, что у Вас есть rubygems 1.2. К сожалению,
обновление драгоценного камня - система
не работал на меня.
Вместо этого я имел к:
Теперь, когда у меня был rubygems 1.2, я работал
$ sudo установка драгоценного камня mysql - with-mysql-config =/usr/local/mysql/bin/mysql_config
Все работает. Благодарен за то, что Orion Edwards регулирует меня в правильном направлении.
Шаг 1
gem update --system
Это, вероятно, не обеспечит саму фиксацию, но Вы действительно хотите rubygems 1.2. Это сохранит Вас приблизительно 8 дней, ожидая, поскольку это не должно делать 'Объема, обновляющего 102 304 драгоценных камня' мусор больше
На самом деле похоже, что это не может найти mysql драгоценный камень вообще, уже не говоря о загрузке или установить его. Вы не находитесь позади прокси-сервера или чего-то странного как этот?
Если это - что-то, чтобы сделать с Вашим rubygems или сетью, а не mysql а именно, то обновление драгоценного камня - система должна показать его также
У Ryan Grove есть сообщение в блоге с ответом:
sudo env ARCHFLAGS="-arch i386" gem install mysql -- \
--with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
--with-mysql-include=/usr/local/mysql/include
У Вас есть различные рубиновые версии в Вашей системе? Если Вы выполните предоставленный Дарвином рубиновый двоичный файл, но установите рубиновые драгоценные камни под/usr/local, то Вы получите ошибки как это. Даже при искажении рубина для указания на/usr/local, может перестать работать команда драгоценного камня, если надлежащий рубиновый двоичный файл не разрешен правильно $PATH оболочки. Кроме того, если/usr/local/bin будет расположен физически, то после/usr/bin в Вашем пути, драгоценный камень будет использовать/usr/bin/ruby для загрузки драгоценных камней из/Library/Ruby/Gems/1.8/gems/. Можно хотеть к символьной ссылке/usr/lib/ruby/gems/1.8/gems к/Library/Ruby/Gems/1.8/gems/предотвратить этот вид вещи.
Установка XCode решила эту проблему для меня.
Это потому что он включает инструменты make и gcc, которые требуются гему.