How to delete n-th element of array in mongodb
if you know the value which you want to remove
db.test.update({{_id: 1},{"$pull" : {"list" : { "key" : "c"}}},false,false)
more info at
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ValueinanArray
No, unfortunately what you are doing is currently the best option. Have a look at this question: In mongoDb, how do you remove an array element by its index which links to a Jira for this very issue.