使用Mongoose模块有什么好处?
Mongoose模块是 NodeJS 最强大的外部模块之一。 Mongoose是一个 MongoDB ODM 即(对象数据库建模),用于将代码及其表示从 MongoDB 转换到 Node.js 服务器。
Mongoose模块的优点:
- MongoDB 数据库的集合验证可以轻松完成。
- 可以在集合上实现预定义结构。
- 可以使用Mongoose将约束应用于集合文档。
- Mongoose模块构建在 MongoDB 驱动程序之上,提供轻松的查询抽象和定义查询。
许多习惯使用 SQL 的开发人员在 MongoDB 上工作时会感到不舒服,因为 Nosql 数据库和灵活的结构在这里Mongoose起着重要作用,并使集合模式类似于 SQL 数据库。
Mongoose模块提供了几个函数来操作 MongoDB 数据库集合的文档。
明确结构和集合验证的实现: mongoose模块对集合施加了明确的结构,并使集合变得僵化。
安装模块:
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)
})
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,
unique: true,
require: true
}
,
marks: {
type: Number,
default: 0
}
})
// Creating collection
const collections = mongoose.model("GFG2", collection_structure)
// Inserting one document
collections.create({
name: "aayush",
marks: 12,
}).then((ans) => {
console.log("Document inserted")
// Inserting invalid document
}).catch((err) => {
console.log(err.message);
})
使用以下命令运行index.js文件:
node index.js
输出:
MongoDB集合约束的实现:
文件名- 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,
unique: true,
require: true
}
,
marks: {
type: Number,
default: 0
}
})
// Creating collection
const collections = mongoose.model("GFG2", collection_structure)
// Inserting one document
collections.create({
name: "aayush",
marks: 12,
}).then((ans) => {
console.log("Document inserted")
// Inserting invalid document
}).catch((err) => {
console.log(err.message);
})
使用以下命令运行index.js文件:
node index.js
输出:[第一条记录已存在于集合中]