Mongoose Schematype.get()函数

Mongoose Schematype.get()函数

Mongoose 是用于 node.js 环境的 MongoDB 对象建模和处理工具。Mongoose API 中的 Schematype.get() 方法用于从 MongoDB 数据库或模式中获取、操作或转换数据。使用此函数,我们可以根据需求修改数据库中任何属性的值。让我们通过示例来了解 Mongoose Schematype.get() 方法。

语法:

SchemaType.get(<function>)

参数: Schematype.get() 方法 接受一个参数:

  • getterFunction: 它是返回修改或处理后的数据的函数。

返回值: Schematype.get() 函数返回此模式类型的所有实例的访问权限。

设置Node.js应用程序:

步骤1: 使用以下命令创建一个Node.js应用程序:

npm init

步骤2: 创建完成NodeJS应用之后,使用以下命令安装所需的模块:

npm install mongoose

项目结构: \n 项目结构将如下所示:\n

Mongoose Schematype.get()函数

数据库结构: 数据库结构看起来像这样,集合中包含以下文档。

Mongoose Schematype.get()函数

示例1: 在这个示例中,我们使用mongoose建立了一个数据库连接,并定义了一个基于userSchema的模型,其中有三个列或字段:“name”,“age”和“weight”。在模式级别上,“weight”属性上我们定义了一个getter函数,它会返回“weight”的四舍五入值。

文件名:app.js

// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
mongoose.connect("mongodb://localhost:27017/geeksforgeeks", { 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
}); 
  
// Define a user schema 
const userSchema = new mongoose.Schema({ 
    name: { 
        type: String 
    }, 
    age: { 
        type: Number 
    }, 
    weight: { 
        type: Number, 
        get: (value) => { 
            return Math.ceil(value) 
        } 
    } 
}); 
  
const User = mongoose.model('User', userSchema); 
  
// Find the user by given ID 
User.findById('63845defc7553ff921623ff9').then(result => { 
    console.log(result.weight); 
});

运行程序的步骤: 从项目的根目录中执行以下命令来运行应用程序:

node app.js

输出:

66

示例2: 在此示例中,我们使用mongoose建立了数据库连接,并在userSchema上定义了一个模型,包含四个列或字段“name”,“age”,“weight”和“height”。在模式级别上,“height”属性上,我们定义了getter函数,以返回以厘米为单位的身高。

文件名:app.js

// Require mongoose module 
const mongoose = require("mongoose"); 
  
// Set Up the Database connection 
mongoose.connect("mongodb://localhost:27017/geeksforgeeks", { 
    useNewUrlParser: true, 
    useUnifiedTopology: true, 
}); 
  
// Define the user schema 
const userSchema = new mongoose.Schema({ 
    name: { 
        type: String 
    }, 
    age: { 
        type: Number 
    }, 
    weight: { 
        type: Number, 
        get: (value) => { 
            return Math.ceil(value) 
        } 
    }, 
    height: { 
        type: Number, 
  
        // Define the getter function 
        get: (value) => { 
            return value * 30.48 
        } 
    } 
}); 
  
const User = mongoose.model('User', userSchema); 
  
const user = new User({  
    name: "User1", age: 25, 
    weight: 68.5, height: 5.8 
}) 
user.save() 
console.log('Height in cm -', user.height)

运行程序的步骤: 从项目的根目录执行以下命令来运行应用程序:

node app.js

输出:

Height in cm - 176.784

参考: https://mongoosejs.com/docs/api/schematype.html#schematype_SchemaType-get

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程