微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用mongocxx驱动程序无法通过集群访问控制使用insert_many

如何解决使用mongocxx驱动程序无法通过集群访问控制使用insert_many

我有一个mongodb集群。我已经使用密钥文件设置了访问控制。我也按如下设置用户

mongos> db.system.users.find()
{ "_id" : "admin.root","user" : "root","db" : "admin","credentials" : ..,"roles" : [ { "role" : "root","db" : "admin" } ] }
{ "_id" : "mydb.dev","user" : "dev","db" : "mydb","credentials" : ...,"roles" : [ { "role" : "readWrite","db" : "mydb" },{ "role" : "clusteradmin","db" : "admin" } ]  }

当我使用root用户时,它运行良好。当我使用dev用户时,它将成功读取,并成功写入未分片的集合。但是,它在分片集合上无法执行以下操作。

    mongocxx::options::insert options;
    options.bypass_document_validation(true);
    options.ordered(false);

    try {
        col.insert_many(docs,options);

...
mongocxx::bulk_write_exception: { "nInserted" : 0,"nMatched" : 0,"nModified" : 0,"nRemoved" : 0,"nUpserted" : 0,"writeErrors" : [  ] }

任何想法都缺少开发者用户什么角色?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。