Mongoose Schema API
Mongoose 是为了在NodeJS中处理查询、构建模式和使用MongoDB拓展业务逻辑而提供的一个包。Mongoose可以连接到MongoDB实例,可以是本地实例或基于云的实例。
Mongoose 提供了一系列API来与数据库进行工作和通信。其中之一就是 Schema API 。每当我们想要将任何类型的数据存储到数据库中时,我们都需要按照特定的模式来存储我们的数据。例如,用于存储锻炼的模式将包含以下字段:锻炼名称、锻炼描述和锻炼时长。
在使用Schema API时,最重要的函数如下:
- Schema(): 此函数帮助我们定义要存储在数据库中的实体的模式。该函数以所有实体的字段作为输入,如用户名、年龄、电子邮件等。
- model(): 此函数帮助我们创建要插入到数据库中的实体记录的模型/实例。创建模型后,我们可以使用所有数据库操作,如插入、更新、查找、删除等。该函数以模型的名称和要存储在数据库中的实体的模式作为输入。
使用Schema API创建新模式的语法如下:
刚刚创建的模式存储在变量newEntity中。
让我们来看一些示例,了解Mongoose模式API。
步骤1: 创建一个名为mongoose_examples的新文件夹。打开命令提示符并导航至该文件夹。现在输入以下命令:
这将为我们设置 package.json 文件,以便我们可以安装所有必要的包。现在,请打开您的命令提示符,并输入以下命令-
这将为我们安装mongoose和express包。现在,在mongoose_examples文件夹中创建一个名为index.js的新文件。您最终的文件夹结构应该如下所示。
步骤2: 打开index.js。在第一个示例中,我们正在创建一个exercise模式,在其中插入一些数据,最后读取数据并在网页上显示。
文件名: index.js
打开终端并输入以下命令:
你应该在终端中看到类似这样的内容:
步骤3: 前往URL http://localhost:5000/insertExercise 执行一个POST请求来插入一个练习。我们将使用Thunderclient进行操作,它是一个用于执行GET、POST、DELETE请求的VS Code扩展程序。你将得到如下输出。
现在,转到URL http://localhost:5000/findExercises 来显示我们刚刚插入的练习。您将获得以下输出。
步骤4: 在下一个示例中,我们将使用Mongoose执行更新操作。为此,我们已经创建了以下示例数据库。
步骤5: 打开index.js文件。我们在这里要做的是将Samsung 30s的价格从22000更新为30000。我们将使用Mongoose提供的 updateOne函数 来进行更新。
文件名: index.js
步骤6: 现在转到您的ThunderClient。在URL中键入 http://localhost:5000/updateMobile 并执行post请求。您将看到以下输出:
步骤7: 现在,在网址栏中键入 http://localhost:5000/findUpdatedMobile 然后您将得到更新的文档。您将看到以下输出。
参考链接: https://mongoosejs.com/docs/