【发布时间】:2018-06-27 14:37:56
【问题描述】:
我们有两个集合,第一个定义文件,简化的例子:
{
_id: "00a00680-0e77-11e7-b757-edf2b0aec1f9",
name: "someFileName.txt",
numRows: 17,
statusCode: 10
},
{
_id: "0653b830-ac06-11e6-b5e3-7f4580599144",
name: "someOtherFileName.txt",
numRows: 134,
statusCode: 12
},
...
以及相关的 statusCodes 集合:
{
statusCode: 10,
statusCodeDesc, "This is the description for status code 10"
},
{
statusCode: 12,
statusCodeDesc, "This is the description for status code 12"
}
...
现在,我们正在使用聚合和投影来产生所需的输出,目前的投影如下所示:
db.getCollection('files').aggregate([
{$match: {_id: "00a00680-0e77-11e7-b757-edf2b0aec1f9"}},
{ "$project": {
"id": "$_id",
"name": "$name",
"statusCode": "$statusCode"
}}
])
产生所需的输出:
{
_id: "00a00680-0e77-11e7-b757-edf2b0aec1f9",
name: "someFileName.txt",
numRows: 17,
statusCode: 10
}
但是我们想要的是从 statusCodes 集合中包含相关的状态描述,以便我们得到这个:
{
_id: "00a00680-0e77-11e7-b757-edf2b0aec1f9",
name: "someFileName.txt",
numRows: 17,
statusCode: 10,
statusCodeDesc: "This is the description for status code 10"
}
有什么想法吗?
【问题讨论】:
标签: mongodb projection