есть ли ограничение на длину имени ключа на MongoDB? - PullRequest
0 голосов
/ 27 ноября 2018

Есть ли какие-либо ограничения по длине символа для ключа MongoDB?Как насчет ограничений по глубине клавиш.

Например, db.namespace.key_depth1.key_depth2.key_depth3 ... Сколько уровней ключа мы можем иметь?Есть ли ограничение на длину строки связанного ключа выше?Как насчет другой базы данных значений ключей?

1 Ответ

0 голосов
/ 28 ноября 2018

MongoDB имеет отличную страницу, посвященную ее ограничениям и порогам

Короче говоря:

limit for the database name:
64 characters

limit for the database name + collection name (<database>.<collection>):
120 characters (including the dot separator)

(This is the closest answer to your question, since it limits the amount of keys)
nesting limit:
100

Так как ваш вопрос касается длиныключ, это меняется.Если вы можете уместить ограничение в 120 символов для базы данных и имени коллекции, то единственным ограничением является вложение.Mongo поддерживает только вложенные слои 100, что означает, что он поддерживает только запросы, запрашивающие получение вложенного ключа длиной не более 100 слоев.Я не думаю, что сам запрос ограничен, но поскольку база данных не поддерживает более 100 уровней, запрос просто не будет иметь смысла.

Так что если имя вашей базы данных действительно короткое, напримерapp, тогда предел имени вашей коллекции составляет 116 символов, поэтому запрос может выглядеть следующим образом:

db.<116 characters>.find({'1.2.3.4.5.6.7.8.(and so on until).100': true})

Кроме этого, похоже, что для ключа не существует фиксированного ограничениядлина.

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