MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Esiste un limite di lunghezza per i valori dei campi nelle query mongo?

Il limite che stai riscontrando è la dimensione massima del buffer di riga nel mongo shell, che è 4096 byte come in MongoDB 2.2.1. Se provi a incollare il tuo esempio in mongo shell dovresti notare che non puoi aggiungere caratteri oltre il limite di riga.

Se esegui questa query da un driver della lingua non avrai questo problema.

Potresti anche risolvere questo problema in mongo shell caricando la query da un file JavaScript specificato nella riga di comando:

 mongo longname.js

Oppure creando una lunga stringa in mongo shell a livello di codice:

// 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}))