Mongodb Cloudant查询:访问嵌套数组中的数据并按if语句排序

Mongodb Cloudant查询:访问嵌套数组中的数据并按if语句排序,mongodb,couchdb,cloudant,Mongodb,Couchdb,Cloudant,我有一个关于如何在cloudant中使用(1)嵌套数组和(2)使用if语句进行排序的问题。我去过以下网站,但我仍然需要帮助 我想返回满足以下伪代码的文档: 如果事件[i]。键入==“签入”,然后按事件[i]排序。时间 下面是我正在使用的JSON数据结构的一个片段 { “状态”:“活动”, “事件”:[ { “类型”:“签入”, “时间”:“2014年11月19日15:34:12” }, { “类型”:“签出”, “时间”:“2014年11月20日17:54:22” } ] }Cloudan

我有一个关于如何在cloudant中使用(1)嵌套数组和(2)使用if语句进行排序的问题。我去过以下网站,但我仍然需要帮助

我想返回满足以下伪代码的文档:

如果事件[i]。键入==“签入”,然后按事件[i]排序。时间

下面是我正在使用的JSON数据结构的一个片段

{
“状态”:“活动”,
“事件”:[
{
“类型”:“签入”,
“时间”:“2014年11月19日15:34:12”
},
{
“类型”:“签出”,
“时间”:“2014年11月20日17:54:22”
}
]

}
Cloudant查询似乎无法对数组元素进行索引和查询。
您可以创建一个视图来获得相同的结果,方法是为每个数组元素编制索引,然后在视图上查询。

“11/19/2014 15:34:12”是一个字符串,因此排序后您将始终无法获得预期的结果。例如,“3/19/2014…”将以升序排序在前者之后。如果签入的事件类型不存在怎么办?对于这些文件,标准应该是什么?感谢Batshray的评论。目前,请忽略排序条件。我们可以在我收到合适的文件后再讨论这个话题。在我的例子中,如果一个JSON数据结构有一个“status”=“active”,那么将始终有一个“type”=“check_In”。如果你需要更多信息,请告诉我。非常感谢。