有人可以帮助我按日期对数组进行升序排序的查询吗? 我已经尝试过以下查询,但排序未按预期进行,
db.getCollection(xyz).aggregate([{
$match: {
"_id":{$in:[{"a" : "NA","b" : "HXYZ","c" : "12345","d" : "AA"}]}
}
},{
$sort: {'bal.date': 1}
},
{ $project: {
balances: { $slice: ["$bal",2]}
}
}
])
我的收藏集:
/* 1 */
{
"_id" : {
"a" : "NA",
"b" : "HXYZ",
"c" : "12345",
"d" : "AA"
},
"bal" : [
{
"type" : "E",
"date" : "2015-08-02"
},
{
"type" : "E",
"date" : "2015-08-01"
},
{
"type" : "E",
"date" : "2015-07-07"
}
]
}
请帮助我上述查询中出现的问题。 预先感谢。
答案 0 :(得分:0)
从外观上看,您将日期另存为String, sort()函数会将日期排序为 Strings ,这不会给您订单您正在期待。
您可以运行将 bal.date 字段转换为Date()格式的脚本,然后sort()将自动运行,也可以在转换+排序服务器端进行操作。 / p>
答案 1 :(得分:0)
您正在将window.open()
和focus()
阶段
针对已使用的聚合管道阶段纠正语法
$match