У меня есть коллекция Mongo, которая содержит наборы данных с pmID иIDID, гдеIDID может быть null или pmID. Я пытаюсь выяснить, если я выберу PMID, как я могу получить PM, где pmID = replyID, и если идентификатор ответа этого номера не равен нулю, объект, который соответствует этому, и т. Д.Рекурсивный поиск в MongoDB
{
pmID: 1,
replyID: null
},
{
pmID: 2,
replyID: null
},
{
pmID: 3,
replyID: 1
},
{
pmID: 4,
replyID: 3
}
Так что, если я выбрал на pmID = 4, я также хочу получить 3 и 1. Я обсуждаю, как просто делать один за другим, но я надеюсь, что есть более простой ответ.
Это отличная точка, спасибо! Я посмотрю, это может быть мое решение. Сказав, что такое getNewPmId() в вашем решении? Функция, которую я угадываю? Я читал, что выбор объектов в функции не проходит через индекс; это сбивало с толку, и я волнуюсь, что неправильно понял, что он говорил. Я еще ничего не делал с функциями. – RhoVisions
@RhoVisions Не совсем уверен, что такое «pmId» для вас, и я просто воспринимаю это как «пример», поэтому просто «некоторый метод», чтобы получить уникальный идентификатор. Конечно, если вы просто используете «ObjectId» и «pmId», это действительно основной ключ «_id», тогда нет необходимости в создании пользовательской логики для получения «нового уникального идентификатора». –
Я парень MySQL, делающий переход к изучению/использованию Mongo, поэтому я все еще использую некоторые соглашения SQL. pmID является последовательным идентификатором в дополнение к mongo сгенерированным _id. Я бы использовал только созданный mongo, но, пытаясь сделать дружественный URL, короткий, уникальный идентификатор намного проще. – RhoVisions