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})
Кроме этого, похоже, что для ключа не существует фиксированного ограничениядлина.