查询以单独检索每个子文档而不使用Mongoose传递父ID

时间:2016-01-23 06:44:40

标签: node.js mongoose

我想在此解释一下我的问题。 如何编写一个mongoose查询来从JSON检索每个子文档而不传递parent_id。

[
  {
    "_id": "56a320003fe17cc7363dd0d7",
    "name": "Leanna Jacobson",
    "gender": "female",
    "friends": [
      {
        "id": 0,
        "name": "Riley Case"
      },
      {
        "id": 1,
        "name": "Herman Carter"
      },
      {
        "id": 2,
        "name": "Pacheco Woodard"
      }
    ]
  },
  {
    "_id": "56a3200001501cfa1ea2641d",
    "name": "Juliana Bonner",
    "gender": "female",
    "friends": [
      {
        "id": 0,
        "name": "Keller Woodward"
      },
      {
        "id": 1,
        "name": "Fern Knight"
      },
      {
        "id": 2,
        "name": "Cain Richards"
      }
    ]
  },
  {
    "_id": "56a3200006864c78ecb1aeed",
    "name": "Gena Stark",
    "gender": "female",
    "friends": [
      {
        "id": 0,
        "name": "Kate Franco"
      },
      {
        "id": 1,
        "name": "Araceli Mcclure"
      },
      {
        "id": 2,
        "name": "Molly Nelson"
      }
    ]
  },
  {
    "_id": "56a320006d868155161038b6",
    "name": "Eve Gonzalez",
    "gender": "female",
    "friends": [
      {
        "id": 0,
        "name": "Pam Lang"
      },
      {
        "id": 1,
        "name": "Christy Marks"
      },
      {
        "id": 2,
        "name": "Donovan Warren"
      }
    ]
  },
  {
    "_id": "56a3200066b94852f5680568",
    "name": "Coleman Wooten",
    "gender": "male",
    "friends": [
      {
        "id": 0,
        "name": "Roberta Olson"
      },
      {
        "id": 1,
        "name": "Roseann Reid"
      },
      {
        "id": 2,
        "name": "Kerri Russell"
      }
    ]
  }
]

在这里,我需要从每个父级的子文档数组朋友中检索每个朋友的详细信息。

那我怎么能为这个?????

写查询

1 个答案:

答案 0 :(得分:1)

假设您的架构名称为Person,请尝试此项。

//find all document, only select `friends` field from every document
Person.find({}, 'friends', function (err, friends) {
    // the return friends is the [[friends], [friends], ...]
});