MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Gibt es eine Längenbegrenzung für Feldwerte in Mongo-Abfragen?

Die Grenze, auf die Sie stoßen, ist die maximale Zeilenpuffergröße im mongo Shell, die 4096 Bytes wie bei MongoDB 2.2.1. Wenn Sie versuchen, Ihr Beispiel in mongo einzufügen Shell sollten Sie beachten, dass Sie keine Zeichen über die Zeilenbegrenzung hinaus hinzufügen können.

Wenn Sie diese Abfrage von einem Sprachtreiber ausführen Sie werden dieses Problem nicht haben.

Sie könnten dies auch im mongo umgehen Shell durch Laden der Abfrage aus einer in der Befehlszeile angegebenen JavaScript-Datei:

 mongo longname.js

Oder indem Sie eine lange Zeichenfolge im mongo erstellen Shell programmgesteuert:

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