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

Er der en længdegrænse for feltværdier i mongo-forespørgsler?

Den grænse, du støder på, er den maksimale linjebufferstørrelse i mongo shell, som er 4096 bytes som i MongoDB 2.2.1. Hvis du prøver at indsætte dit eksempel i mongo shell bør du bemærke, at du ikke kan tilføje nogen tegn ud over linjegrænsen.

Hvis du udfører denne forespørgsel fra en sprogdriver du vil ikke have dette problem.

Du kan også omgå dette i mongo shell ved at indlæse forespørgslen fra en JavaScript-fil angivet på kommandolinjen:

 mongo longname.js

Eller ved at oprette en lang streng i mongo skal programmatisk:

// 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. MongoDB Bedste måde at parre og slette sekventielle databaseposter

  2. Redis som meddelelsesmægler

  3. redis-cli omdirigeret til 127.0.0.1

  4. En samling i en samling