В MongoDB, документ _id должен быть уникальным для всей коллекции или всей БД? - PullRequest
6 голосов
/ 12 августа 2011

Я строю базу данных с несколькими коллекциями. У меня есть уникальные строки, которые я планирую использовать для всех документов в основной коллекции. Документы в других коллекциях будут ссылаться на документы в основной коллекции, что означает, что мне придется сохранить указанные идентификаторы в других коллекциях. Однако, если _id должен быть уникальным только для всей коллекции, а не для всей базы данных, тогда я просто сделаю, чтобы _id в других коллекциях также использовал вышеупомянутые уникальные строки.

Кроме того, я предполагаю, что для того, чтобы установить свои собственные _id, все, что мне нужно сделать, это иметь свойство "_id":"unique_string" как часть документа, который я вставляю, правильно? Мне не нужно было бы конвертировать "unique_string" в другой формат, верно?

Кроме того, гипотетически говоря, смогу ли я иметь переменную, сохранить строку "_id" и использовать ее вместо этого? Просто чтобы прояснить, что-то следующее: var id = "_id", а затем в коде (например, во время вставки или запроса) есть id:"unique_string".

С наилучшими пожеланиями,
Сами

1 Ответ

9 голосов
/ 12 августа 2011

_id должны быть уникальными в коллекции. Это можно быстро проверить, вставив два документа с одинаковым _id в две разные коллекции.

Ваши другие предположения верны, просто попробуйте их и посмотрите, работают ли они (они будут). Доказательство пудинга в еде.

Примечание: используйте _id напрямую, var id = "_id" просто компилирует код.

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