- 
    Type:Improvement 
- 
    Resolution: Duplicate
- 
    Priority:Minor - P4 
- 
    None
- 
    Affects Version/s: None
- 
    Component/s: Write Ops
- 
    None
- 
        Query
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
Arrays currently have a number of bizarre behaviors (especially in PHP) and limited support for manipulation makes this difficult to work around. The following additional functions would help:
$insert - atomic insertion into an array at an index.
                Currently the only options are $push (which only works if you are adding to the end) and overwriting the entire array.
$remove - remove elements from an array BY INDEX, without leaving "null" entries.
                   Currently the only universally safe option is to overwrite the entire array. $unset leaves null entries, $pull works only if the element is known to be unique, and $unset followed by $pull null only works if the array is known to not contain nulls (also because $unset + $pull requires two separate operations, it is clunky and non-atomic (array contains null for a period of time)).
- duplicates
- 
                    SERVER-1014 A modifier to delete a single value from an array -         
- Closed
 
-         
- is related to
- 
                    SERVER-2363 $push/$pushAll support for insertion at any position (top/bottom/ordinal) -         
- Closed
 
-