Похоже, вы столкнулись с проблемой "массива объектов". Когда у вас есть массив объектов, MongoDB не имеет полного набора операций update
.
Вот что вы можете сделать. У вас есть доступ к a.0.b
и a.1.b
. Они получат доступ к первому и второму элементам в массиве. Так что вы можете сделать что-то вроде:
db.coll.update({_id:"yourid"}, {$unset: {'a.0.b':1,'a.1.b':1}})
Однако вам нужно будет сгенерировать правильный запрос для каждого документа. Некоторые документы могут иметь 2 элемента в массиве, некоторые могут иметь 10. Поэтому здесь определенно требуется дополнительное программирование.