首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mongoose返回单个嵌套数组对象

使用mongoose返回单个嵌套数组对象
EN

Stack Overflow用户
提问于 2016-01-22 17:00:15
回答 1查看 2.6K关注 0票数 1

我整个早上都在和这个搏斗。我试图从数组中提取一个嵌套对象。我是跟着mongo查询文档,但不能返回所需的对象。

videocollection

代码语言:javascript
复制
{
  "_id": ObjectID("95738ax1795b45f0hgn8dbfd8"),
  "playlist": [
    {
      "videos": [
        {
          "title": "Video Title 1",
          "slug": "video-1"      
        },
        {
          "title": "Video Title 2",
          "slug": "video-2"
        }
      ],
      "related": [
        {
          ....
        }
      ]
    }
  ]
}

当我在MongoDB CLI中运行以下查询时,要么返回零结果,要么获得整个文档。

代码语言:javascript
复制
db.videocollection.find({}, { $elemMatch: {'playlist.videos.slug':'video-2'} } )

db.videocollection.find({}, {_id: 0, 'playlist.0.videos': {$elemMatch: {'slug': 'video-2' }}})

我试图查询视频数组中的slug

EN

回答 1

Stack Overflow用户

发布于 2016-01-22 22:45:33

适当的查询是:

代码语言:javascript
复制
db.videocollection.find({ 'playlist.$.videos': { $elemMatch: { 'slug': 'video-2'} } })

$位置算子,表示数组中的任何索引。

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

https://stackoverflow.com/questions/34952118

复制
相关文章

相似问题

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