Atualizar documento usando o resultado de campos concatenados

Considere uma coleção com os seguintes documentos

{
        "_id" : "aaaaaaaaaaaa",
        "title" : "Hello, World!",
        "date" : "Thursday, November 12, 2015",
        "time" : "9:30 AM",
        "endtime" : "11:30 AM"
},
{
        "_id" : "bbbbbbbbbbbb",
        "title" : "To B or not to B",
        "date" : "Thursday, November 12, 2015",
        "time" : "10:30 AM",
        "endtime" : "11:00 AM"
},
{
        "_id" : "cccccccccccc",
        "title" : "Family Time",
        "date" : "Thursday, November 12, 2015",
        "time" : "10:30 AM",
        "endtime" : "12:00 PM"
}

Nesta saída simplificada, tenho eventos que tiveram seus horários de início, horário de término e datas inseridos como cadeias. Como posso usar campos em umupdate() que usam os dados existentes para calcular novos dados do tipo Date () formados corretamente que eu posso realmente consultar.

O seguinte funciona para criar um novo campo "iso_start"

db.events.update({},{$set: {iso_start:Date()}},{multi: true})

Eu imaginei que seria capaz de criar uma espécie de atualização-seleção como essa

db.events.update({},{$set: {iso_start:Date(date + " " + time)}},{multi: true}) edb.events.update({},{$set: {iso_end:Date(date + " " + time)}},{multi: true})

mas recebo o erro "a data não está definida".

Atualizar:this.date ethis.time desapareceu o erro não definido, no entanto, as datas inseridas foram para a data / hora atual. Eu tentei escrevernew Date() mas a data inserida foi ISODate ("0NaN-NaN-NaNTNaN: NaN: NaNZ")

questionAnswers(1)

yourAnswerToTheQuestion