使用mongoose.createConnection为特定集合指定读/写权限

时间:2018-08-07 00:05:07

标签: node.js mongodb mongoose

mongoose.createConnection()的Mongoose文档建议,为了维护每个连接的不同读/写权限,可以使用多个连接:

  

Multiple Connections

     

到目前为止,我们已经了解了如何使用Mongoose的默认连接连接到MongoDB。有时,我们可能需要通向Mongo的多个连接,每个具有不同的读/写设置,或者可能仅通向不同的数据库。在这种情况下,我们可以利用mongoose.createConnection()接受已经讨论过的所有参数,并为您返回新的连接。

     

const conn = mongoose.createConnection('mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]', options);

听起来不错!但是,我没有找到一种明显的方法。如果可以通过连接配置进行配置,则mongoose.createConnectionmongodb.connect文档都不会对此进行记录。

我想要:

  • 将连接绑定到特定集合。
  • 指定连接为readread/write

我可以为每个集合创建单独的用户,其中一个用户使用read,另一个用户使用read/write,但是不必这么做,而是在创建一个连接已创建:

const readUserConn = mongoose.createConnection(url, {
  collection: 'users', //
  permissions: 'read'  // fantasy options
})

是否可以使用Mongoose createConnection来执行此操作,而无需为每个集合创建单独的读写用户?

0 个答案:

没有答案