在mongo db中,我有输入集合
1.采集名称-dirPermission
和样品记录
[
{
dirId: "1",
dirName: "firstDir",
usersRead: [
"user1",
"user2"
],
userWrite: [
"user2",
"user3"
]
}
]
我想创建如下所示的示例化视图
[{
dirId:'1',
dirName:'firstDir',
userId:'user1',
canRead:'Y',
canWrite:'N'
},
{
dirId:'1',
dirName:'firstDir',
userId:'user2',
canRead:'Y',
canWrite:'Y'
},
{
dirId:'1',
dirName:'firstDir',
userId:'user3',
canRead:'N',
canWrite:'Y'
}]
同样,由于我的背景更多的是SQL + Java,我很难使用mongodb找到答案,任何指针都会很有帮助。
1条答案
按热度按时间ovfsdjhp1#
您可以使用
$setUnion
创建一组不同的用户。$unwind
用于创建文档,使用$cond
设置canRead
和canWrite
。Mongo Playground