Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Дублирование/удаление записей mongodb (https://javascript.ru/forum/node-js-io-js/72220-dublirovanie-udalenie-zapisejj-mongodb.html)

WonderDog 16.01.2018 14:46

Дублирование/удаление записей mongodb
 
Всем доброго времени суток.В общем суть проекта заключается вот в чем: пользователь на сайте создает заявку на заказ, которая отправляется потом в, собственно, мой проект, если можно так выразиться. Записи о заказах отправляются в бд mongodb, которая подключается из облака. Так вот не так давно начались проблемы сначала с дублированием некоторых записей в бд (это происходило произвольно, я не нашел никакой “закономерности” этих дублирований), а затем просто перестали некоторые заявки появляться (или, как я понял - они появлялись, но потом удалялись).
По поводу дубликатов я пытался сделать вот так:
db.messages.aggregate([
	{"$group" : { "_id": "$number", "count": { "$sum": 1 } } },
	{"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } },
	{"$sort": {"count" : -1} },
	{"$project": {"number" : "$_id", "_id" : 0} }
 ])

number - номер заказа, я решил что по нему проще всего будет удалять, однако это не работает.
Подскажите пожалуйста что можно сделать с дубликатами и “пропажами” записей.
P.S. проект создавался не мной - по моему приходу на практику человек, который этим занимался, ушел в армию, поэтому меня закрепили следить за ним…ну и как видите проявились недоработки.

laimas 19.01.2018 09:24

Я не знаю Node.js, а посему и спрашивать об операциях с БД нет смысла. Но может быть, что причиной ошибок служит неудачный выбор БД для проекта. Если данные проекта реляционные, то документо-ориентированная БД для них не самый лучший выбор из возможных, и нарушение целостности данных в такой БД, в этом случае, как раз могут быть закономерностью.

WonderDog 20.01.2018 07:03

БД была создана уже под mongodb, так что дело не в этом, но спасибо за ответ.


Часовой пояс GMT +3, время: 06:35.