MongoDB的聚合操作(二)

2023-05-09 10:17:42 浏览数 (1)

$skip

$skip操作用于跳过文档集合中指定数量的文档,并返回剩余的文档。该操作接受一个数字,表示要跳过的文档数量。

以下是使用$skip操作跳过指定数量文档的示例:

代码语言:javascript复制
db.collection('users').aggregate([
  { $sort: { age: -1 } },
  { $skip: 10 }
], function(err, result) {
  if (err) throw err;
  console.log(result);
  db.close();
});

上面的代码将查询一个名为users的集合,按照年龄进行降序排序,并跳过前10个文档。在完成聚合操作后,将会输出剩余的文档。

$unwind

$unwind操作用于将文档中的数组字段拆分为单个文档,每个文档包含一个数组元素。该操作接受一个字符串,表示要拆分的数组字段。

以下是使用$unwind操作拆分数组字段的示例:

代码语言:javascript复制
db.collection('users').aggregate([
  { $unwind: '$hobbies' }
], function(err, result) {
  if (err) throw err;
  console.log(result);
  db.close();
});

上面的代码将查询一个名为users的集合,拆分其中的hobbies数组字段,并将每个数组元素拆分为单个文档。在完成聚合操作后,将会输出结果。

$project

$project操作用于修改输出的文档结构,包括添加、删除和重命名字段。该操作接受一个JSON对象,表示要修改的文档结构。

以下是使用$project操作修改文档结构的示例:

代码语言:javascript复制
db.collection('users').aggregate([
  { $project: { _id: 0, name: 1, age: 1 } }
], function(err, result) {
  if (err) throw err;
  console.log(result);
  db.close();
});

上面的代码将查询一个名为users的集合,并将输出的文档结构修改为只包含nameage字段,并排除_id字段。在完成聚合操作后,将会输出结果。

0 人点赞