Nosql 在CouchDB视图中排序日期

Nosql 在CouchDB视图中排序日期,nosql,couchdb,mapreduce,Nosql,Couchdb,Mapreduce,我有一个嵌套的JSON对象,用于下面的keystatus: { “2011-01-19 09:41:00 AM”:“原型状态应用程序”, “2011-01-20 09:41:00 AM”:“玩CouchDB” } 这是一个用户可以输入他/她的状态的小应用程序。我想从中获取最新的状态。这种方法适用于此类应用程序,还是必须有一个定义排序顺序的键 获得最近约会的最佳方式是什么 谢谢使用并发出一个复杂的键 如果您首先要按用户排序,然后按时间排序,请将其用作键。如果只想按时间排序,请忽略用户名作为键 如果

我有一个嵌套的JSON对象,用于下面的keystatus

{
“2011-01-19 09:41:00 AM”:“原型状态应用程序”,
“2011-01-20 09:41:00 AM”:“玩CouchDB”
}

这是一个用户可以输入他/她的状态的小应用程序。我想从中获取最新的状态。这种方法适用于此类应用程序,还是必须有一个定义排序顺序的键

获得最近约会的最佳方式是什么

谢谢

使用并发出一个复杂的键

如果您首先要按用户排序,然后按时间排序,请将其用作键。如果只想按时间排序,请忽略用户名作为键

如果使用的是日期样式值:

emit([Date.parse(doc.created_at).getTime(), doc.username], doc);
如果您使用的日期格式已经可以按字典进行排序:

emit([doc.created_at, doc.username], doc);

非常感谢,这正是我想要的。我可能更喜欢为每个状态添加一个新文档。这将导致更多的文档,但往往会防止冲突,并允许具有“最终一致”状态的可缩放设计。每个文档必须至少包含您可能需要的状态消息、用户、时间和内部元数据。我为每个用户提供了一个文档,并在用户文档中为状态提供了一个嵌套文档。我仍然无法仅检索最近的状态。我可能可以在应用程序级别处理它,但我正在尝试用这种方式学习。-limit是您的朋友(按日期降序排序,只取前n个元素)。按日期时间和用户查询url时会是什么样子?