MongoDB能通过嵌套子文档,可方便灵活记录子文档的多个属性,了解更多的内容细节。如有集合 blog, 其子文档 access 下有 append、edit、manager、read,希望按 NAME 分组,合并其下的 uids,且数据不重复。具体数据如下:
| {
"_id": ObjectId("99014006e4b0aaac99a104ae"), "access" : { "append" : { "uids" :[ ObjectId("94f9bfb0aa6a19084789ca9a")], "level" : [1] }, "edit" : { "level" : [3], "uids" : [ ObjectId("94f9bfb0aa6a19084789ca92")]}, "manager" : {"uids" : [], "level" : [4, 7] }, "read" : { "uids" : [ ObjectId("94f9bfb0aa6a19084789ca92"), ObjectId("94f9bfb0aa6a19084789ca98")], "level" : [3, 8] } }, "name" : "article"} |
{
"_id" : ObjectId("99014006e4b0aaac99a104af"), "access" : { "append" : { "uids" :[ ObjectId("94f9bfb0aa6a19084789ca69")], "level" : [4] }, "edit" : {"level" : [5], "uids" : [ ObjectId("94f9bfb0aa6a19084789ca92")]}, "manager" : { "uids" : [ ], "level" : [1] }, "read" : { "uids" : [ ObjectId("94f9bfb0aa6a19084789ca92"), ObjectId("94f9bfb0aa6a19084789ca70")], "level" : [3 ] } }, " |

本文探讨如何在MongoDB中合并多属性子文档的uids并去重。通过$addFields、$unwind等操作实现过程较复杂,而使用集算器则能更简便地按name分组合并uids。集算器还支持与Java集成,方便处理嵌套子文档的合并需求。
最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



