【发布时间】:2016-09-02 09:24:58
【问题描述】:
我的文档结构如下:
{
"_id" : ObjectId("57c93af8bf501124df658a0e"),
"friends" : [
{ "userid" : 14, "xxxx" : "xxx" },
{ "userid" : 13, "xxx" : "xxx" }
]
},{
"_id" : ObjectId("57c93af8bf501124df658a0e"),
"friends" : [
{ "userid" : 1, "xxxx" : "xxx" },
{ "userid" : 14, "xxx" : "xxx" }
]
}
我需要在朋友数组的最后一个元素中检索用户 ID 为 14 的文档。所需的输出如下:
{
"_id" : ObjectId("57c93af8bf501124df658a0e"),
"friends" : [
{ "userid" : 14, "xxx" : "xxx" }
]
}
我按照建议尝试了use the $slice operator to get last element of array in mongodb;但我需要在子文档上执行此操作。
如何使用 -1 处的“$arrayElemAt”在 $redact 中将“friends.user”$eq 的查询构造为 14?
【问题讨论】:
-
如documentation 中所述,什么不适用于
$slice?
标签: mongodb mongodb-query aggregation-framework mongodb-java