我想检索来自当前签名的最旧文档的值列表。但是我没有选择在日期上删除的文档。谢谢
这是json:
"ad" : "noc3",
"createdDate" : ISODate(),
"list" : [
{
"id" : "p45",
"value" : 21,
},
{
"id" : "p6",
"value" : 20,
},
{
"id" : "4578",
"value" : 319
}
]
这里是我的汇总请求:
db.friends.aggregate({$match:{advertiser:"noc3", {$sort:{timestamps:-1},{$limit:1} }},{$unwind:"$list"},{$project:{_id: "$list.id", value:{$add:[0]}}});
答案 0 :(得分:7)
您的汇总查询不正确。您可以为匹配添加排序和限制,但现在就是这样做的。您使用不同的管道运算符:
db.friends.aggregate( [
{ $match: { advertiser: "noc3" } },
{ $sort: { createdDate: -1 } },
{ $limit: 1 },
您的其他管道运营商也有点奇怪,您的代码与查询在timestamps
vs createdDate
上不匹配。如果添加预期输出,我可以更新答案以包括查询的最后几位。