Można to łatwo osiągnąć za pomocą Kolekcje ograniczone w mongodb.możesz ustawić limit liczby dokumentów, więc w twoim przypadku możesz ustawić maksymalną liczbę dokumentów na 1, jak poniżej:
db.createCollection("numbers", { capped : true, size:4000, max : 1 } )
Jeśli chcesz ustawić swoją kolekcję jako ograniczoną ze schematu mongoose, możesz to zrobić za pomocą opcji capped w następujący sposób:
var numbersSchema = new mongoose.Schema({
seconds: Number
},{ capped : true, size:4000, max : 1 })
Ta kolekcja zawsze będzie zawierała tylko jeden dokument, który można aktualizować. Pamiętaj, że dokumentów raz wstawionych do ograniczonych kolekcji nie można usunąć . Rozwiązuje to również Twój problem z usuwaniem.
Równieżsize
opcja, którą musisz określić, może być dowolną dodatnią liczbą całkowitą, która zostanie wewnętrznie przekonwertowana przez mongo
do minimum 4096 bytes
lub najbliższa wielokrotność 256. WAŻNE:
Źródło:dokumenty MONGODB
Ponadto, jeśli chcesz ustawić minimalną lub maksymalną wartość na sekundy, zawsze możesz użyć mongoose min- maks walidacje. Zatem poniższy schemat powinien działać dla Ciebie.var numbersSchema = new mongoose.Schema({
seconds: { type: Number, min: 60 }
},{ capped : true, size:4000, max : 1 })