Как удалить столбец из дочерней коллекции

У меня есть коллекция в MongoDB под названием CrawlUser. У него есть список CrawlStatuses, который представляет собой список объектов CrawlStatus. CrawlStatus имеет свойство LastErrorMessage, которое я хочу удалить из коллекций.

Я попытался удалить его следующим образом, но это не сработало ... Сообщение об ошибке отсутствует, но столбец LastErrorMessage все еще существует.

db.CrawlUser.update( {}, { $unset: { "CrawlStatuses.LastErrorMessage": 1 } }, false, true);

Есть идеи, что я делаю не так?

Еще один связанный с этим вопрос: если я выполняю команду $ unset для столбца в очень большой коллекции (миллионы строк), mongodb использует всю оперативную память на сервере (как если бы он пытался сохранить весь сбор в памяти), то сервер вылетает. Есть ли лучший способ удалить столбцы, когда у вас большие коллекции?

13
задан Justin 13 February 2011 в 22:18
поделиться