Как уже было сказано, нет способа изменить существующий BSONObj. Но есть обходной путь, чтобы сделать это без воссоздания "с нуля". Предположим, у вас есть BSONObj Mybson. И вы хотите изменить поле "somefield".
mybson = mybson.removeField("somefield");
mybson = BSONObjBuilder().appendElements(mybson).append("somefield", newvalue).obj();