📌  相关文章
📜  如何使用 Node.js 在 MongoDB 集合中添加唯一约束?

📅  最后修改于: 2022-05-13 01:56:45.974000             🧑  作者: Mango

如何使用 Node.js 在 MongoDB 集合中添加唯一约束?

Mongoose模块是 node.js 最强大的外部模块之一。 Mongoose是一个 MongoDB ODM 即(对象数据库建模),用于将代码及其表示从 MongoDB 转换到 Node.js 服务器。 Mongoose模块提供了几个函数来操作 MongoDB 数据库集合的文档。

唯一约束:我们可以在 MongoDB 中对文档集合的值添加唯一约束,以便轻松区分所有文档。在 Node.js 中创建集合的结构期间添加了唯一约束

安装模块:

npm install mongoose

项目结构:

在本地 IP 上运行服务器:数据是 MongoDB 服务器所在的目录。

mongod --dbpath=data --bind_ip 127.0.0.1

文件名- 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);
  });


使用以下命令运行index.js文件:

node index.js

输出:集合中已经存在的记录(控制台)。