Использование оператора набора полей
с линией
Storages.update(storageId , {$set: { "storageArticles" : articleId }});
вы в основном пытаетесь установить строковое значение (articleId) в поле, которое определяется как массив строк.
Это имеет смысл, только если вы установите массив значений на storageArticles
(переопределяя, таким образом, полное поле):
Storages.update(storageId , {$set: { "storageArticles" : [articleId] }});
Использование операторов обновления массива
Если вы хотите сдвинуть или потянуть значения, вы можете поискать операторы обновления массива mongo (перечисляя некоторые примеры здесь):
$ addToSet Добавляет элементы в массив, только если они еще не существуют
в наборе.
Storages.update(storageId , {$addToSet: { "storageArticles" : articleId }});
$ pop Удаляет первый или последний элемент массива.
Storages.update(storageId , { $pop : 1 });
$ pull Удаляет все элементы массива, которые соответствуют указанному запросу.
Storages.update(storageId , {$pull: { "storageArticles" : articleId }});
$ push Добавляет элемент в массив.
Storages.update(storageId , {$push: { "storageArticles" : articleId }});
$ pullAll Удаляет все совпадающие значения из массива.
Storages.update(storageId , {$pullAll: { "storageArticles" : [articleId1, articleId2] }});