Limit, na který narážíte, je maximální velikost vyrovnávací paměti řádku v mongo
shell, což je 4096 bajtů jako u MongoDB 2.2.1. Pokud se pokusíte vložit svůj příklad do mongo
shellu, měli byste si všimnout, že nemůžete přidat žádné znaky přesahující limit řádku.
Pokud tento dotaz spustíte z jazykového ovladače nebudete mít tento problém.
Můžete to také obejít v mongo
shell načtením dotazu ze souboru JavaScript zadaného na příkazovém řádku:
mongo longname.js
Nebo vytvořením dlouhého řetězce v mongo
shell programově:
// 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}))