Това може лесно да се постигне с помощта на Ограничени колекции в mongodb.можете да зададете ограничение за броя документи, така че във вашия случай можете да зададете максимален брой документи на 1, както е показано по-долу:
db.createCollection("numbers", { capped : true, size:4000, max : 1 } )
Освен това, ако искате да зададете колекцията си като ограничена от схема на mongoose, можете да го направите, като използвате опцията за ограничение, както следва:
var numbersSchema = new mongoose.Schema({
seconds: Number
},{ capped : true, size:4000, max : 1 })
Тази колекция винаги ще съдържа само един документ, който може да бъде актуализиран. Имайте предвид, че документите, веднъж вмъкнати в ограничени колекции не могат да бъдат изтрити . Така че това решава и вашия проблем с изтриването.
Същоsize
опцията, която трябва да посочите, може да бъде всяка положителна цяло число, която ще бъде преобразувана вътрешно от mongo
до минимум 4096 bytes
, или най-близкото кратно на 256. ВАЖНО:
Източник:MONGODB документи
Освен това, ако искате да зададете минималната или максималната стойност на секундите, винаги можете да използвате mongoose min- макс. валидации. Така че следната схема трябва да работи за вас.var numbersSchema = new mongoose.Schema({
seconds: { type: Number, min: 60 }
},{ capped : true, size:4000, max : 1 })