MongoDB:映射用户

时间:2016-11-18 06:19:32

标签: mongodb

我有一个以下的MongoDB案例,我希望你能帮我解决。

我的MongoDB数据库被多个独立用户使用,并且存在技术限制,这使我无法为每个用户创建数据库。用户不受信任。用户将使用任意名称创建集合。

有没有办法从其他用户的集合中“命名”一个用户的集合?例如,当用户“jim”使集合“订单”时,它不会与创建集合“订单”的用户“bob”冲突。

用户通过受SSL保护的渠道进行身份验证和连接。

1 个答案:

答案 0 :(得分:1)

不要在DB中创建这么多集合。在一个集合中,您将该集合字段保存在一个文档中。因此,您将能够通过" _id"访问所有集合。独特的领域。所有文档字段和值都将根据用户的选择。

例如,您有一个集合" user_collection"它存储用户的所有收集细节。

user_collection
{
 { "_id" : "0921092109227812",
   "collectionName": "orders",
   "user": ObjectId(Ref_Id1),
   "fields": []
 },
 { "_id" : "5686565681232344",
   "collectionName": "orders",
   "user": ObjectId(Ref_Id2),
   "fields": []
 }
}

我刚刚给你了架构。您可以根据自己的要求详细说明此架构。