gpt4 book ai didi

MongoDB $project 提取某些属性(将其作为数组返回)

转载 作者:IT老高 更新时间:2023-10-28 13:36:17 25 4
gpt4 key购买 nike

我有一个这样的 MongoDB 集合

[
{ taskType:1, client:{name:"Moe",...}, ... },
{ taskType:1, client:{name:"Larry",...}, ... },
{ taskType:1, client:{name:"Curly",...}, ... }
]

我可以对其运行以下 $project 查询:

{$project:{_id:0, client:"$client"}}

我得到了这个结果:

[
{ client:{name:"Moe",...} },
{ client:{name:"Larry",...} },
{ client:{name:"Curly",...} }
]

但我实际上正在寻找这样的结果:

[
{name:"Moe",...},
{name:"Larry",...},
{name:"Curly",...}
]

我该怎么做(如果可以的话)?

最佳答案

您可以使用 $projectclient.name 字段提升到顶层,如下所示:

{$project: {_id: 0, name: "$client.name"}}

MongoDB 3.4 更新

您现在可以使用 $replaceRoot 更直接地执行此操作阶段而不是使用 $project:

{$replaceRoot: {newRoot: '$client'}}

关于MongoDB $project 提取某些属性(将其作为数组返回),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26435232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com