这两天用mongodb数据库,遇到了个问题,取出的数据和存储时的顺序不一样。
存储的顺序:
取出后展示效果:
怎么按着传入的顺序输出呢?
查资料得出数据库的_id存入时是计算有时间的,这就好办啦,加上
sort({
time: -1
})
time: -1
})
就ok了,详细
var mongodb = require('./db');
module.exports = Person;
function Person(name){
this.name = name
}
Person.get = function(name, callback) {
mongodb.open(function (err, db) {
if (err) {
return callback(err);
}
db.collection('people_list', function (err, collection) {
if (err) {
mongodb.close();
return callback(err);
}
var query = {};
if (name) {
query.name = name;
}
collection.find(query).sort({
time: -1
}).toArray(function (err, docs) {
mongodb.close();
if (err) {
return callback(err);
}
callback(null, docs);
});
});
})
}
module.exports = Person;
function Person(name){
this.name = name
}
Person.get = function(name, callback) {
mongodb.open(function (err, db) {
if (err) {
return callback(err);
}
db.collection('people_list', function (err, collection) {
if (err) {
mongodb.close();
return callback(err);
}
var query = {};
if (name) {
query.name = name;
}
collection.find(query).sort({
time: -1
}).toArray(function (err, docs) {
mongodb.close();
if (err) {
return callback(err);
}
callback(null, docs);
});
});
})
}
最后输出结果:
相关推荐
MongoDB 是一个流行的开源NoSQL数据库系统,特别适合处理大规模数据和实时分析。在这个特定的案例中,开发人员面临一个紧急需求,需要从名为 `mt_resources_access_log` 的集合中根据 `refererDomain` 字段进行分组...
MongoDB的索引建立在Collection(表)级别,采用B-树数据结构来加速查询和排序操作。 1. 默认索引:MongoDB会在每个Collection上自动创建一个唯一的 `_id` 索引,用于标识每条文档的唯一性。如果未明确指定,...
- **时间**: 备份时间和恢复时间取决于数据量的大小以及网络和硬件条件。 #### 20. Master或Primary的角色 - **主节点**: 在MongoDB的复制集中,一个节点被指定为主节点。 - **职责**: 主节点负责处理所有写入请求...
MongoDB 是一种基于分布式文件存储的 NoSQL 数据库,能够处理大量数据,具有高性能、可靠性和灵活性等特点。下面是 MongoDB 架构及基本操作说明。 架构 MongoDB 架构主要分为两种:单服务器架构和双服务器架构。双...
1. 数据存储:MongoDB将数据存储为JSON格式的文档,每个文档都可以表示一个独立的数据实体。字段和值可以包含其他文档、数组等复杂结构。 2. 原子性:MongoDB的写操作在文档级别是原子性的,这意味着一次操作要么...
最后,我们将探讨分布式数据库在云环境中的应用,如大数据处理平台Hadoop和Spark,以及NoSQL数据库如MongoDB和Cassandra。这些系统都充分利用了分布式数据的优势,实现了高效的数据处理和存储。 总结来说,"分布式...
如果不指定,MongoDB会根据索引字段的名称和排序顺序自动生成一个名字。 4. **dropDups**:这个参数只适用于创建唯一索引时。如果设置为`true`,在创建唯一索引时,MongoDB会删除所有具有相同索引键的后续文档,只...
注释按顺序排序,以使最新的注释位于顶部。 每个新闻的评论数显示在评论按钮旁边。 还可以通过顶部的“获取最新新闻”按钮为用户提供刷新显示文章的选项,从而刷新数据库。 通过*显示评论*按钮,用户还可以选择仅...
不过,需要注意的是,如果并发请求的处理速度非常快,可能会导致自增ID的跳跃,这取决于`findAndModify`操作的执行顺序。 在实际应用中,还可以考虑使用MongoDB的`$inc`配合`upsert`参数来简化逻辑,但正如代码注释...
数据来源可能包括用户输入、日志文件、API接口、传感器数据、第三方数据库等,具体取决于项目需求和业务场景。 以上内容是互联网面试中常见的一些技术问题和解答,全面理解这些知识点对于准备面试至关重要。
MongoDB也适合存储大量的日志数据或其他非结构化数据。 综上所述,针对不同的业务需求和技术背景,选择合适的数据存储技术和优化策略是至关重要的。通过对以上知识点的深入理解和灵活运用,可以有效地提升系统的...
4. 数据库导出:对于大型数据集,可能需要将表格数据导入到关系型数据库(如MySQL、SQL Server)或NoSQL数据库(如MongoDB)中。这有助于进行复杂查询和分析。 除了基本的导出功能,一些高级操作还包括: 5. ...
TCP(Transmission Control Protocol)是传输层协议,它提供了可靠的、面向连接的数据传输服务,确保数据包按顺序无丢失地到达目的地。Socket是基于TCP协议的应用程序编程接口(API),允许应用程序通过网络进行通信...
可以选择关系型数据库如MySQL,或者非关系型数据库如MongoDB,取决于数据结构和需求。数据库设计需考虑查询效率和数据一致性。 7. **前端开发**:聊天界面的设计和交互也是项目的一部分,可能使用HTML、CSS和...
可能的数据库方案包括关系型数据库(如MySQL)或非关系型数据库(如MongoDB),具体选择取决于数据的结构和查询需求。 整个设计流程从开发环境的配置开始,然后深入到相关的理论知识,包括网络协议、Socket编程和多...
数据库可以是关系型的,如MySQL、PostgreSQL,或者是非关系型的,如MongoDB或Cassandra,选择取决于具体的数据结构和业务需求。 CGI到ActiveMQ再到数据库的流程,展示了Web应用数据处理的一种常见模式:前端收集...
SQLite、MySQL或MongoDB等可能是不错的选择,取决于数据规模和需求。 总的来说,"Socket,QQ"项目涵盖了网络通信、多线程编程、数据结构、协议设计、UI开发以及数据库管理等多个IT领域的知识点。通过这个项目,...