У меня есть файлы, хранящиеся в MongoDB с использованием GridFS. Мне нужно удалить некоторые из этих файлов по ID из оболочки JavaScript. Мне нужно удалить один файл, используя его ID. Я решил, что могу просто сделать это:MongoDB удаляет объекты GridFS из оболочки
db.fs.files.remove({_id: my_id});
Это работает в некоторой степени; он удаляет файл из коллекции fs.files
, но не удаляет сами куски из коллекции fs.chunks
. Причина, по которой я знаю, потому что я проверяю длину обеих коллекций до и после в RockMongo.
Я мог бы пройти через куски и удалить те, которые относятся к этому файлу, но есть ли лучший, встроенный способ сделать это?
А я вижу. К сожалению, я не могу использовать mongofiles, потому что у меня есть только ID файла, который я хочу удалить. Предвидите ли вы какие-либо проблемы, которые я мог бы получить, удалив соответствующие куски? –
Вам нужно сделать это через оболочку? Почему бы не соединиться с водителем на вашем родном языке? И нет, насколько я знаю, было бы нормально делать что-то вроде 'db.fs.chunks.remove ({files_id: my_id});' и затем 'db.fs.files.remove ({_ id: my_id}) ; ' –
Я бы предпочел сделать это из оболочки, но я буду использовать язык с драйвером. Благодаря! –