0
比方说,我有对象的集合:的MongoDB聚合管道,并结合深度嵌套对象
{
_id : 1,
list1 : [
{ name: 'This is my name', value: 'This is my value' },
{ name: 'name number 2', value: 'value number 2' }
],
list2 : [
{ name: 'Another name', value: 'Another value' }
],
deeper : {
list3 : [
{ name: 'Another name but even deeper', value: 'Another value but deeper' }
]
}
}
使用聚合管道怎么会返回名称/值对象的一个列表? 结果应该是:
{
_id : 1,
combinedList : [
{ name: 'This is my name', value: 'This is my value' },
{ name: 'name number 2', value: 'value number 2' },
{ name: 'Another name', value: 'Another value' },
{ name: 'Another name but even deeper', value: 'Another value but deeper' }
]
}
第2部分:
现在,如何从扁平化整个集合深度嵌套的对象到一个单一的反应?例如:
{
"_id" : 0,
list1 : [
{ name: 'This is my name', value: 'This is my value' },
{ name: 'name number 2', value: 'value number 2' }
],
list2 : [
{ name: 'Another name', value: 'Another value' }
]
},
{
"_id" : 1,
list1 : [
{ name: 'This is my name', value: 'This is my value' },
{ name: 'name number 2', value: 'value number 2' }
],
deeper : {
list2 : [
{ name: 'Another name but even deeper', value: 'Another value but deeper' }
]
}
}
结果应该与上面的文档相同(combinedList)。
谢谢@Barno!我可以通过更多维度吗?如果我有一个列表,每个对象都有一个列表,该怎么办?例如: { – JayJohnsonDesigns 2014-11-24 19:09:01
@JayJohnsonDesigns欢迎您。你能写一个例子吗? – Barno 2014-11-24 19:38:36
我将示例添加到了我的原始问题中。 – JayJohnsonDesigns 2014-11-24 21:54:56