Mongoose Query prototype.slice()函数
Mongoose是一个用于MongoDB的对象数据建模(ODM)库。它定义了一个强类型模式,并提供默认值和模式验证,这些后来会映射到MongoDB文档。
slice 方法用于 限制 查询返回的元素数量。
语法:
Modal.find().where([path]).slice(field, val)
或者
Modal.find().slice([field], val)
参数:
- path(路径): path是一个字符串,表示要搜索的字段名,这是一个必需的参数。
- field(字段): field是一个字符串,表示要进行切片的字段名。
- val(值): 可以是一个数字或者一个包含两个数字的数组。如果是一个数字,则范围从0开始。
安装mongoose模块:
步骤1: 您可以访问链接以安装mongoose模块。您可以使用以下命令来安装该软件包。
npm install mongoose
步骤2: 安装完mongoose模块后,您可以在命令提示符中使用以下命令检查您的mongoose版本。
npm version mongoose
步骤3: 之后,您只需创建一个文件夹并添加一个文件,例如index.js,要运行此文件,您需要运行以下命令。
node index.js
项目结构: 项目的结构将如下所示。
示例1: 我们有一些包含客户姓名、兴趣和订单数量的客户数据。兴趣包含多个游戏的数组。我们想要将每个元素的兴趣切成三个元素。
index.js
// Require mongoose module
const mongoose = require('mongoose');
// Set Up the Database connection
mongoose.connect(
'mongodb://localhost:27017/geeksforgeeks', {
useNewUrlParser: true,
useUnifiedTopology: true
})
// Defining customerSchema schema
const customerSchema = new mongoose.Schema(
{ name: String, interest: Array, orderCount: Number }
)
// Defining customerSchema model
const Customer = mongoose.model(
'Customer', customerSchema);
Customer.find().slice("interest", 3).then((res) => {
console.log(res)
}).catch((err) => {
console.log(err)
});
运行应用的步骤:
步骤1: 确保已使用以下命令安装了 mongoose 模块:
npm install mongoose
步骤2: 在函数执行之前,下面是数据库中的样本数据,您可以使用任何GUI工具或终端来查看数据库,就像我们使用MongoDB Compass GUI工具一样,如下所示:
步骤3: 使用以下命令运行index.js文件:
node index.js
输出:
示例2: 在这个示例中,我们正在切片一个范围内的元素。
index.js
// Require mongoose module
const mongoose = require('mongoose');
// Set Up the Database connection
mongoose.connect(
'mongodb://localhost:27017/geeksforgeeks', {
useNewUrlParser: true,
useUnifiedTopology: true
})
// Defining customerSchema schema
const customerSchema = new mongoose.Schema(
{ name: String, interest: Array, orderCount: Number }
)
// Defining customerSchema model
const Customer = mongoose.model(
'Customer', customerSchema);
Customer.find().slice("interest", [2, 4]).then((res) => {
console.log(res)
}).catch((err) => {
console.log(err)
});
运行应用的步骤: 使用以下命令运行index.js文件:
node index.js
输出:
参考文献: https://mongoosejs.com/docs/api/query.html#query_Query-slice