Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2018, 16:56   #1
WonderDoggy
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 18
По умолчанию Удаление дубликатов mongodb

Доброго времени суток. Имеется mongo коллекция messages, в ней поля: number (номер заказа), lastName, email, phone, country, region, city, postcode, deliveryMethod, payMethod, adress, information, code. Пытался таким вот образом удалить дубликаты:
Код:
db.messages.aggregate([
	{"$group" : {
		 "number": { "name": "$name", "lastName": "$lastName", "email": "$email", "phone": "$phone", "country": "$country", "region": "$region", "city": "$city", "postcode": "$postcode", "deliveryMethod": "$deliveryMethod", "payMethod": "$payMethod", "adress": "$adress", "information": "$information", "code": "$code" },
		 "dups": { "$push" : "$number" },
		 "count": { "$sum" : 1}
	}},
	{"$match": { "count" : { "$gt": 1 } }}
]).forEach(function(doc) {
	doc.dups.shift();
	db.messages.remove({ "$number": {"$in": doc.dups }});
});
Однако, как видите, не очень успешно. Подскажите пожалуйста.

Последний раз редактировалось WonderDoggy; 10.04.2018 в 17:00.
WonderDoggy вне форума Ответить с цитированием
Старый 10.04.2018, 16:58   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

тут гляньте https://stackoverflow.com/questions/...key-in-mongodb или тут https://stackoverflow.com/questions/...based-on-field
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 10.04.2018, 17:22   #3
WonderDoggy
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 18
По умолчанию

хмм, вторую ссылку я как-то упустил, премного благодарен.
WonderDoggy вне форума Ответить с цитированием
Старый 10.04.2018, 20:44   #4
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

ничего бывает
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 12.04.2018, 13:19   #5
WonderDoggy
Пользователь
 
Регистрация: 12.01.2017
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Stanislav Посмотреть сообщение
Этот вариант не сработал, хотя возможно я что-то не так там сделал, но по идее все правильно
WonderDoggy вне форума Ответить с цитированием
Старый 12.04.2018, 13:27   #6
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

вы что то сделали не так, попробуйте сделать коллекцию простую и на ней потренируйтесь
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дублирование/удаление записей mongodb WonderDoggy JavaScript, Ajax 0 16.01.2018 14:48
Удаление дубликатов SolovejK Общие вопросы Delphi 7 13.03.2015 23:31
Удаление дубликатов Wind-up Bird Microsoft Office Excel 9 02.02.2012 12:49
Удаление дубликатов строк hon Паскаль, Turbo Pascal, PascalABC.NET 10 02.08.2011 05:29
Удаление дубликатов Deltist Microsoft Office Excel 11 14.01.2011 16:01