上图的结构,我想去除外层的‘contact’,直接就是两个{}的数组
因为做不到上面的,我试着看看能不能获取里面一个字段,我用,{$project:{"contact.starred":1},发现外层依然有‘contact’
怎么做才能实现目标?
上图的结构,我想去除外层的‘contact’,直接就是两个{}的数组
因为做不到上面的,我试着看看能不能获取里面一个字段,我用,{$project:{"contact.starred":1},发现外层依然有‘contact’
怎么做才能实现目标?
4 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答733 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
{$project: {starred: "$contact.starred"}}
图上没有看到有第二个数组。如果有就是同样的写法。
补充
如果想映射所有的元素,可以用$replaceRoot:
但是这样会丢掉除
contact
子文档以外的所有元素。如果想有选择性的保留,建议逐一选择你要的元素:只是个形式,不用太过纠结,无论哪一种在程序里面处理也只是分分钟的事情。