хочу создать уникальный индекс и удалить дублирующиеся документы db.temp.createIndex({A:1, B:1},{unique:true, dropDups:true}) такой запрос не подходит, т.к. dropDups:true больше не поддерживается(а именно он и гуглится только). как решить задачу?)
Сделать выборку с дублями (count по уник полю больше 1) потом решить какой из доков надо оставить, все остальные удалить. Монга не может сама ща вас решить какой док остается т.к не сравнивает полностью доки
db.temp.find({}, { ... "A": 1, ... "B":1 ... }).sort({ ... _id: 1 ... }).forEach(function (record) { ... db.temp.remove({ ... _id: { ... $gt: record._id ... }, ... "A": record.A, ... "B": record.B ... }); ... }); вот так же тоже должно работать?
Обсуждают сегодня