MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Définir des limites sur la collection mongo db

Cela peut être facilement réalisé en utilisant Collections plafonnées dans mongodb.vous pouvez définir une limite sur le nombre de documents, donc dans votre cas, vous pouvez définir le nombre maximum de documents sur 1 comme ci-dessous :

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

De plus, si vous souhaitez définir votre collection comme plafonnée à partir du schéma de la mangouste, vous pouvez le faire en utilisant l'option plafonnée comme suit :

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

Cette collection contiendra toujours un seul document qui pourra être mis à jour. Notez qu'une fois les documents insérés dans des collections plafonnées ne peuvent pas être supprimés . Cela résout donc également votre problème de suppression.

Aussi la size option que vous devez spécifier, peut être n'importe quelle valeur entière positive, qui sera convertie en interne par mongo à un minimum de 4096 bytes , ou multiple le plus proche de 256.

IMPORTANT :

Source :documentation MONGODB

De plus, si vous souhaitez définir la valeur min ou max sur les secondes, vous pouvez toujours utiliser mongoose min- maximum validations. Le schéma suivant devrait donc fonctionner pour vous.
var numbersSchema = new mongoose.Schema({
  seconds: { type: Number, min: 60 }
},{ capped : true, size:4000,  max : 1 })