首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何.find()“最后一个数组元素的url”?

如何.find()“最后一个数组元素的url”?
EN

Stack Overflow用户
提问于 2015-06-30 19:39:21
回答 2查看 100关注 0票数 2

下面是我的文档结构:

代码语言:javascript
运行
复制
{
        "name": "object name",
        "details": "object details",
        "images": [{
                "size": "large",
                "url": "http://domain.com/large.png"
        }, {
                "size": "medium",
                "url": "http://domain.com/medium.png"
        }, {
                "size": "small",
                "url": "http://domain.com/small.png"
        }]
}

有些文档只有“大”图像,有些文档有全部图像,有些文档只有“中”图像。我想做的是,获取数组最后一个元素的url。

这是我尝试过的:

代码语言:javascript
运行
复制
.find({},{"images.url":1}) 

返回所有url。我也尝试过使用$slice,但没有成功(参数错误)。

请注意,我正在尝试获取“最后一个元素的url”,而不是“最后一个元素”。

寻找解决方案。

EN

回答 2

Stack Overflow用户

发布于 2015-06-30 21:22:24

您可以使用map()来过滤响应:

代码语言:javascript
运行
复制
.find({}, { _id: 0, name: 0, details: 0, images: { $slice: -1 } }).map( function(u) { return u.images[0].url; } );
票数 1
EN

Stack Overflow用户

发布于 2015-07-01 00:14:47

我意识到$slice不能为我工作的原因是我的mongodb是2.6.6版本,我把我的mongodb更新到了3.0.4版本,它的工作方式如下所示:

代码语言:javascript
运行
复制
.find({},{"images.url":1,"images.url":{$slice:-1}})

感谢你到目前为止的所有评论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31137245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档