use update instead of findAndModify because mongo server may not like it