mon goose запрос с другим вводом - PullRequest
1 голос
/ 07 мая 2020

Я хочу проверить в БД, существует ли в документе «тест» в специальном поле c. Если он существует, я хочу увеличить его на 1, чтобы он выглядел как «test-1», а затем снова проверить в базе данных и повторять, пока он не будет найден, затем сохраните его там.

Я не У меня проблема с частью приращения, только с частью mongoose / mongodb, где мне нужно повторно запросить новое значение. Есть ли способ, которым можно выполнить один и тот же запрос несколько раз?

Отредактировано: я хочу создать новое поле на основе имени, но я хочу, чтобы это поле было уникальным, потому что я хочу использовать это как идентификатор.

Так, например, если у меня есть что-то вроде name: 'John Smith', я хочу создать новое поле в моем документе, например: uniqueId: john-smith, для того же документа. Проблема в том, что если в мою коллекцию вставлен другой Джон Смит, я хочу проверить, доступен ли uniqueId john-smith, если нет, я хочу добавить к нему -1, поэтому он будет выглядеть так john-smith-1, и и так далее, пока john-smith-(number) не будет найден, я буду знать, что идентификатор уникален, и сохраню его в документе.

Одна из идей - использовать Model.find () внутри рекурсивной функции с uniqueId и повторяйте, пока документ не будет найден. Но мне было интересно, может ли быть другой способ, может быть, что-то менее сложное?

mongodb v4.2.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...