在MongoDB中,查询数据主要包括基础查询以及使用聚合框架(Aggregation Framework)进行复杂数据处理。
示例:
db.users.find({ age: { $gt: 18 } }); // 查询年龄大于18的所有用户 db.users.find({ gender: 'male' }, { name: 1, email: 1 }); // 查询性别为男性的用户,并仅返回姓名和邮箱字段
db.users.find().sort({ age: 1, name: -1 }); // 按照年龄升序、姓名降序排列结果
db.users.find().sort({ registrationDate: -1 }).limit(10); // 获取最新注册的前10个用户 db.users.find().skip(50).limit(10); // 跳过前50个文档,然后获取接下来的10个文档
MongoDB的聚合框架允许用户执行多个阶段的处理,将数据从原始集合转换成单一输出结果。每个阶段都会处理文档流,并将其传递给下一个阶段。
聚合操作示例:
db.orders.aggregate([ { $match: { status: "completed" } }, { $group: { _id: "$customer_id", totalSpent: { $sum: "$amount" } } }, { $sort: { totalSpent: -1 } }, { $limit: 10 } ]);
这个聚合操作会找到所有已完成状态的订单,按客户ID分组计算每位客户的总消费额,并返回消费额最高的前10名客户。
上一篇:基础的正则表达式