【发布时间】:2017-10-28 19:38:42
【问题描述】:
我有一个关于查询嵌套文档的问题。我试图搜索但没有回答我的问题,或者我可能忽略了它。我有这样的结构:
{
"_id" : ObjectId("592aa441e0f8de09b0912fe9"),
"name" : "Patrick Rothfuss",
"books" : [
{
"title" : "Name of the wind",
"pages" : 400,
"_id" : ObjectId("592aa441e0f8de09b0912fea")
},
{
"title" : "Wise Man's Fear",
"pages" : 500,
"_id" : ObjectId("592aa441e0f8de09b0912feb")
},
},
{
"_id" : ObjectId("592aa441e0f8de09b0912fe9"),
"name" : "Rober Jordan",
"books" : [
{
"title" : "The Eye of the World",
"pages" : 400,
"_id" : ObjectId("592aa441e0f8de09b0912fea")
},
{
"title" : "The Great Hunt",
"pages" : 500,
"_id" : ObjectId("592aa441e0f8de09b0912feb")
}
},
我想查询整个作者集合中所有书籍的列表 - 例如:
"books" : [
{
"title" : "The Eye of the World",
"pages" : 400,
"_id" : ObjectId("592aa441e0f8de09b0912fea")
},
{
"title" : "The Great Hunt",
"pages" : 500,
"_id" : ObjectId("592aa441e0f8de09b0912feb")
},
{
"title" : "Name of the wind",
"pages" : 400,
"_id" : ObjectId("592aa441e0f8de09b0912fea")
},
{
"title" : "Wise Man's Fear",
"pages" : 500,
"_id" : ObjectId("592aa441e0f8de09b0912fea")
}]
【问题讨论】:
-
你到底在问什么?是如何从数组中“提取”所有嵌入文档并简单地返回这些结果?这里的“同名”是什么意思?
-
我猜是相同的元素名称 - 书籍?提取 db 集合中每个 book 的列表。不知道如何更好地描述它。
标签: mongodb mongoose mongodb-query aggregation-framework