$skip
$skip
操作用于跳过文档集合中指定数量的文档,并返回剩余的文档。该操作接受一个数字,表示要跳过的文档数量。
以下是使用$skip
操作跳过指定数量文档的示例:
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
操作拆分数组字段的示例:
db.collection('users').aggregate([
{ $unwind: '$hobbies' }
], function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
上面的代码将查询一个名为users
的集合,拆分其中的hobbies
数组字段,并将每个数组元素拆分为单个文档。在完成聚合操作后,将会输出结果。
$project
$project
操作用于修改输出的文档结构,包括添加、删除和重命名字段。该操作接受一个JSON对象,表示要修改的文档结构。
以下是使用$project
操作修改文档结构的示例:
db.collection('users').aggregate([
{ $project: { _id: 0, name: 1, age: 1 } }
], function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
上面的代码将查询一个名为users
的集合,并将输出的文档结构修改为只包含name
和age
字段,并排除_id
字段。在完成聚合操作后,将会输出结果。