Какой тип данных для ссылки на другие документы? - PullRequest
0 голосов
/ 15 марта 2012

Хотя не рекомендуется использовать MongoDB для отношений N: M, вы все равно можете использовать его таким образом, храня массив идентификаторов в документе. Поэтому модели могут иметь метод, который запрашивает указанный идентификатор и возвращает массив объектов.

Теперь вопрос: существует ли руководство, сохранять ли «внешний ключ» (о, как я смею его так называть!) В виде строки или объекта ObjectId? Я думаю, производительность будет почти одинаковой, потому что вы не индексируете их, но, возможно, им не нужно равное пространство? Что бы ты считал лучшим способом?

1 Ответ

2 голосов
/ 15 марта 2012

Простая математика:

ObjectId MongoDB - это 12-байтовый двоичный двоичный объект.

Те же данные в строковом представлении (пример: '47cc67093475061e3d95369d') занимают 24 байта.И он также должен быть преобразован в ObjectId во время запроса.

Выбор очевиден, не правда ли?

...