MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Existe um limite de comprimento para valores de campo em consultas mongo?


O limite que você está encontrando é o tamanho máximo do buffer de linha no mongo shell, que é 4096 bytes como no MongoDB 2.2.1. Se você tentar colar seu exemplo no mongo shell, você deve observar que não pode adicionar nenhum caractere além do limite de linha.

Se você executar esta consulta de um driver de idioma você não terá esse problema.

Você também pode contornar isso no mongo shell carregando a consulta de um arquivo JavaScript especificado na linha de comando:
 mongo longname.js

Ou criando uma string longa no mongo shell programaticamente:
// Longname will be 5000 characters
var longname = '';
for (i = 0; i < 200; i++) {
    longname += 'Abcdefghijklmnopqrstuvwx ';
}

db.foo.insert({
  _id: ObjectId("508836afea5cea2ccec11a0d"),
  created_at: 1348657869.204,
  name: longname
});

printjson(db.foo.findOne({name: longname}))