假设我们需要按时间戳查询最近发表的10篇博客文章: articles = db.posts.find().sort({ts:-1}); // 获取时间倒序的博客文章 for (var i=0; i< 10>定义: 索引是在数据库表的一个或多个列上创建的数据结构,用于快速定位数据。在查询条件的字段上创建索引可以显著提高查询速度。 - 示例: javascript db.posts.ensureIndex({ts: 1}); 上述代码在ts字段上创建了一个升序索引。 - 注意事项: 索引会占用额外的磁盘空间,并且每次插入或更新文档时都会更新索引,这可能会稍微降低写入速度。索引的创建应根据查询模式来决定,避免创建不必要的索引。 ##### 2.限定返回结果条数 - 定义: 使用limit()函数可以限制查询返回的结果数量,这对于减轻服务器负载和网络带宽压力非常有效。 - 示例: javascript articles = db.posts.find().sort({ts: -1}).limit(10); 这段代码按时间戳降序排序,并只返回前10条记录。 - 注意事项: 在生产环境中,应当谨慎使用limit()以防止数据丢失或不完整的情况发生。 ##### 3.只查询必要的字段 - 定义: 通过指定查询时需要返回哪些字段而不是返回所有字段,可以进一步减少数据传输量并加快查询速度。 - 示例: javascript articles = db.posts.find({}, {ts: 1, title: 1, author: 1, abstract: 1}).sort({ts: -1}).limit(10); 此代码仅返回tstitleauthorabstract字段。 - 注意事项: 清理掉无意义的标点符号。