MongoDB: Eliminando un campo de TODOS los subdocumentos en un campo de matriz

Tengo miles de documentos en este formato:

{
"_id" : ObjectId("51e98d196b01c2085c72d731"),
"messages" : [
    {
        "_id" : ObjectId("520167056b01c20bb9eee987"),
        "id" : ObjectId("520167056b01c20bb9eee987"),

    },
    {
        "_id" : ObjectId("520167056b01c20bb9eee988"),
        "id" : ObjectId("520167056b01c20bb9eee988"),

    },
    {
        "_id" : ObjectId("520167056b01c20bb9eee989"),
        "id" : ObjectId("520167056b01c20bb9eee989"),
    }
],
}

Necesito eliminar el campo duplicado "id". Esto es lo que he intentado:

db.forum_threads.update({}, {$unset: {"messages.$.id": 1}}, {multi: true});

Este es el error que estoy recibiendo:

Cannot apply the positional operator without a corresponding query field containing an array.

Respuestas a la pregunta(2)

Su respuesta a la pregunta