sql >> Database >  >> NoSQL >> MongoDB

Is er een lengtelimiet voor veldwaarden in mongo-query's?

De limiet die u tegenkomt is de maximale regelbuffergrootte in de mongo shell, dat is 4096 bytes zoals bij MongoDB 2.2.1. Als u uw voorbeeld probeert te plakken in de mongo shell zou je moeten opmerken dat je geen tekens kunt toevoegen die verder gaan dan de regellimiet.

Als u deze query uitvoert vanuit een taalstuurprogramma u zult dit probleem niet hebben.

Je zou dit ook kunnen omzeilen in de mongo shell door de query te laden vanuit een JavaScript-bestand dat is opgegeven op de opdrachtregel:

 mongo longname.js

Of door een lange string te maken in de mongo shell programmatisch:

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



  1. Mongoosejs een document vernieuwen

  2. COD en CML gebruiken om applicaties te bouwen die voorraadgegevens voorspellen

  3. Maak verbinding met AWS ElastiCache met In-Transit Encryption + Auth van een andere client dan redis-cli+stunnel

  4. Waarom retourneert de Mongo Spark-connector verschillende en onjuiste aantallen voor een query?