Задать вопрос
Ответы пользователя по тегу MongoDB
  • Удаление повторяющихся записей в MongoDB

    promsoft
    @promsoft
    Да, при создании чистой восстановит только уникальные. См. обсуждение

    Можно еще скриптом удалить дубли, но забэкапить будет быстрее. Я на 10 миллионах пробовал. На Питоне это было так

    from pymongo import MongoClient
    
    connection = MongoClient('localhost', 27017)
    
    db = connection.mydb
    
    table = db.mytable
    for doc in table.find():
      idx = doc['_id']
      qw = doc['qw']
      table.remove({'qw' : qw, '_id' : {'$ne':idx}})


    И шло очень медленно (индекса-то нет)

    А вот удаление агрегацией (примерно так) прошло меньше чем за минуту

    db.table.aggregate([{$group:{'_id':'$qw'}}, {$out:'newtable'}], {allowDiskUse:true})
    Ответ написан
    Комментировать