【问题标题】:Select specifics items from array objects in mongoose从猫鼬中的数组对象中选择特定项目
【发布时间】:2021-08-23 02:36:54
【问题描述】:

我有一个 mongoDB objetc,例如:

[
  {
    "items": [
      {
        "title": "hello",
        "options": [
          {
            "value": "A",
            "image": "img1",
            "des": "des1"
          },
          {
            "value": "B",
            "image": "img2",
            "des": "des2"
          },
          
        ]
      }
    ]
  }
]

当我从集合中检索数据时,我只想从 items 数组的 options 中检索 value 键。

输出应该是这样的:

{
 "items":[
  {
     "options" :[
       {  "value" :"A" },
       {  "value" :"B" },
   ]
  }
 ]
}

我该怎么做?

【问题讨论】:

  • 使用投影{ "items.options.value": 1 }查看更多关于projection的信息。
  • turivishal 如果您指定查询,它将对我有所帮助。谢谢
  • 你可以按照我的评论使用投影,如果你想使用聚合,请参阅$project
  • 如果您在评论中看到附加链接,它易于使用,只需按照文档中的说明进行操作即可。不难理解我想你只需要使用{ "items.options.value": 1 } 投影简单。
  • 好的,我正在尝试

标签: arrays mongodb mongoose mongodb-query aggregation-framework


【解决方案1】:

你可以这样做:

db.collection.find({}, { "items.options.value": 1})

下面是工作示例:https://mongoplayground.net/p/FqDaQ7Q-y-Y

或者你可以这样做:

db.collection.aggregate([
  {
    "$project": {
      "items.options.value": 1
    }
  }
])

下面是工作示例:https://mongoplayground.net/p/jPFYtXYBvpI

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 2021-12-18
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 2015-12-28
    相关资源
    最近更新 更多