¿Cómo agregar una restricción única en la colección de MongoDB usando Node.js?

El módulo Mongoose es uno de los módulos externos más poderosos de node.js. Mongoose es un ODM de MongoDB, es decir (modelado de base de datos de objetos) que se utiliza para traducir el código y su representación de MongoDB al servidor Node.js. El módulo Mongoose proporciona varias funciones para manipular los documentos de la colección de la base de datos MongoDB.

Restricción única: podemos agregar una restricción única en el valor de la colección de documentos en MongoDB para que todos los documentos se puedan distinguir fácilmente. Se agrega una restricción única durante la creación de la estructura de la colección en Node.js

Módulo de instalación:

npm install mongoose

Estructura del proyecto:

Ejecutando el servidor en IP local: Data es el directorio donde está presente el servidor MongoDB.

mongod --dbpath=data --bind_ip 127.0.0.1

Nombre de archivo- index.js:

Javascript

// Importing mongoose module
const mongoose = require("mongoose");
  
// Database Address
const url = "mongodb://localhost:27017/GFG";
  
// Connecting to database
mongoose
  .connect(url)
  .then((ans) => {
    console.log("ConnectedSuccessful");
  })
  .catch((err) => {
    console.log("Error in the Connection");
  });
    
// Calling Schema class
const Schema = mongoose.Schema;
  
// Creating Structure of the collection
const collection_structure = new Schema({
  name: {
    type: String,
    require: true,
  },
  marks: {
    type: Number,
    default: 0,
  },
});
  
// Creating collection
const collections = 
    mongoose.model("GFG2", collection_structure);
  
// Inserting one document
collections
  .create({
    name: "aayush",
  })
  .then((ans) => {
    console.log("Document inserted");
      
    // Inserting invalid document
    collections
      .create({
        name: "saini",
        marks: "#234",
        phone: 981,
      })
      .then((ans) => {
        console.log(ans);
      })
      .catch((err) => {
        
        // Printing the documents
        collections.find().then((ans) => {
          console.log(ans);
        });
          
        // Printing the Error Message
        console.log(err.message);
      });
  })
  .catch((err) => {
    
    // Printing Error Message
    console.log(err.message);
  });

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Salida: Registro ya presente en la colección (Consola).

Publicación traducida automáticamente

Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *