2016-05-28 129 views
1

我们如何管理一个数据库可以做的事情,例如,如果我想允许用户连接我的数据库并允许他们创建新文档但不更新它们,有没有办法这个?Mongodb只允许创建新文档

+0

什么是你的“用户”指什么?你是指开发者还是公众?人们现在究竟如何与数据库连接? – RainingChain

+0

例如,我有2个不同的网页,首先我想完全访问数据库,第二我想只允许创建文档,无需更新,删除。 –

+0

您的2个网页位于分开的服务器和分开的网站上吗? – RainingChain

回答

2

您必须创建一个用户定义的角色,允许插入但不更新,然后将该用户分配给它。请参见下面的链接作为参考 A User-Defined Role Specifies Privileges

{ 
    _id: "myApp.appUser", 
    role: "appUser", 
    db: "myApp", 
    privileges: [ 
     { resource: { db: "myApp" , collection: "" }, 
     actions: [ "find", "createCollection", "dbStats", "collStats" ] }, 
     { resource: { db: "myApp", collection: "logs" }, 
     actions: [ "insert" ] }, 
     { resource: { db: "myApp", collection: "data" }, 
     actions: [ "insert", "update", "remove", "compact" ] }, 
     { resource: { db: "myApp", collection: "system.js" }, 
     actions: [ "find" ] }, 
    ], 
    roles: [] 
} 
+0

因此,从serverA我可以使用userA mongodb和从serverB我可以使用userB mongodb –