Dit kan eenvoudig worden bereikt met Capped Collections in mongodb.u kunt een limiet instellen voor het aantal documenten, dus in uw geval kunt u het maximale aantal documenten instellen op 1 zoals hieronder:
db.createCollection("numbers", { capped : true, size:4000, max : 1 } )
Ook als u uw verzameling wilt instellen als afgetopt van het mongoose-schema, kunt u dit als volgt doen met de afgetopte optie:
var numbersSchema = new mongoose.Schema({
seconds: Number
},{ capped : true, size:4000, max : 1 })
Deze verzameling bevat altijd slechts één document dat kan worden bijgewerkt. Houd er rekening mee dat de documenten die eenmaal zijn ingevoegd in gecapte collecties niet kunnen worden verwijderd . Dit lost dus ook je verwijderingsprobleem op.
Ook desize
optie die u moet specificeren, kan elke positieve gehele waarde zijn, die intern wordt geconverteerd door mongo
tot een minimum van 4096 bytes
, of het dichtste veelvoud van 256. BELANGRIJK:
Bron:MONGODB-documenten
Als u de min- of max-waarde wilt instellen op seconden, kunt u ook altijd mongoose min- gebruiken maximaal validaties. Dus het volgende schema zou voor u moeten werken.var numbersSchema = new mongoose.Schema({
seconds: { type: Number, min: 60 }
},{ capped : true, size:4000, max : 1 })