Показать сообщение отдельно
  #1 (permalink)  
Старый 10.04.2018, 16:49
Новичок на форуме
Отправить личное сообщение для WonderDog Посмотреть профиль Найти все сообщения от WonderDog
 
Регистрация: 05.01.2018
Сообщений: 4

Удаление дубликатов mongodb
Доброго времени суток. Имеется mongo коллекция messages, в ней поля: number (номер заказа), lastName, email, phone, country, region, city, postcode, deliveryMethod, payMethod, adress, information, code. Пытался таким вот образом удалить дубликаты:
db.messages.aggregate([
	{"$group" : {
		 "_id": { "number": "$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" : "$_id" },
		 "count": { "$sum" : 1}
	}},
	{"$match": { "count" : { "$gt": 1 } }}
]).forEach(function(doc) {
	doc.dups.shift();
	db.messages.remove({ "$_id": {"$in": doc.dups }});
});

Однако, как видите, не очень успешно. Подскажите пожалуйста.

Последний раз редактировалось WonderDog, 10.04.2018 в 17:15.
Ответить с цитированием