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

Sæt grænser for mongo db-samling

Dette kan nemt opnås ved hjælp af Capped Collections i mongodb.du kan sætte en grænse for antallet af dokumenter, så i dit tilfælde kan du indstille det maksimale antal dokumenter til 1 som nedenfor:

db.createCollection("numbers", { capped : true, size:4000,  max : 1 } )

Hvis du også vil indstille din samling som begrænset fra mongoose-skema, kan du gøre det ved at bruge capped option som følger:

var numbersSchema = new mongoose.Schema({
  seconds: Number
},{ capped : true, size:4000,  max : 1 })

Denne samling vil altid kun indeholde ét dokument, som kan opdateres. Bemærk, at dokumenterne, når de først er indsat i samlinger med lofter ikke kan slettes . Så dette løser også dit sletningsproblem.

Også size mulighed, som du skal angive, kan være en hvilken som helst positiv heltalværdi, som vil blive konverteret internt af mongo til et minimum på 4096 bytes , eller nærmeste multiplum af 256.

VIGTIG:

Kilde:MONGODB docs

Hvis du også vil indstille min eller maks værdien til sekunder, kan du altid bruge mongoose min- maks. valideringer. Så det følgende skema burde fungere for dig.
var numbersSchema = new mongoose.Schema({
  seconds: { type: Number, min: 60 }
},{ capped : true, size:4000,  max : 1 })



  1. Redis - Overvej at omdøbe en af ​​bønnerne eller aktivere tilsidesættelse ved at indstille spring.main.allow-bean-definition-overriding=true

  2. Fejlfinding mongo ikke fundet, og php_mongo.dll er ikke en win32-applikationsfejl

  3. Sådan konfigureres fjederstartwebapp med redis ved hjælp af Docker

  4. Hvad kan gøres ved at bruge CKANs asynkrone baggrundsjob?