O problema essencial aqui é este:
db.collection.update(
{ "type": "group" },
{
"$set": { "mygroup": "value" }
"$setOnInsert" { "mygroup": "value" }
}
)
Que é basicamente o que você está tentando fazer.
Você não pode abordar o mesmo campo em um
$set
operação como um $setOnInsert
Operação. Há um problema geral na lógica que causa o erro que você está enfrentando.