Просто небольшое изменение в вашем запросе.
db.db1.aggregate([{
$group: {
"_id": '$budget',
"AvgWeight": {
$avg: "$weight"
}
}
}])
Если Вы работаете с отделенными объектами, необходимо будет повторно прикрепить их к сессии. Можно сделать это, если у Вас есть корректное, в спящем режиме идентификаторы объектов, с которыми Вы работаете, называние получения, и затем объединяя Вашу копию с той В спящем режиме просто помещенное в сессию. Удостоверьтесь, что Вы используете слияние, тем не менее, потому что saveOrUpdate () не удалит дочерних элементов, которые отсутствуют в отделенном объекте, просто добавьте новых детей и сохраните изменения в существующих детях.
Я отсоединил его от первого потока после присоединения к другому потоку.
Кроме того, Выселяют + Блокировка, которую Вы могли использовать 2:nd кэш уровня для восстановления объектов, не идя в базу данных. Я не знаю, соответствует ли это Вашему приложению, но я также думаю, что возможно передать сессию другому шагу, пока первый поток прекращает вносить изменения в него.