Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Meteor:MongoError:未授权在使用身份验证时查询db.collection_Mongodb_Meteor - Fatal编程技术网

Mongodb Meteor:MongoError:未授权在使用身份验证时查询db.collection

Mongodb Meteor:MongoError:未授权在使用身份验证时查询db.collection,mongodb,meteor,Mongodb,Meteor,在尝试查询数据库时,我跟踪到一个T并收到错误: Exception while invoking method 'myMethod' MongoError: not authorized for query on myDB.bobRocks 我使用以下方法在Mongo中设置用户: use admin db.createUser( { user: 'bob', pwd: '12345', roles: [ { role: 'readWrite',

在尝试查询数据库时,我跟踪到一个T并收到错误:

Exception while invoking method 'myMethod' MongoError: not authorized for query on myDB.bobRocks
我使用以下方法在Mongo中设置用户:

use admin
db.createUser(
    {
    user: 'bob',
    pwd: '12345',
    roles: [
        { role: 'readWrite', db: 'myDB'},
    ]
    }
)
我的数据库调用是:

var myDB = new MongoInternals.RemoteCollectionDriver("mongodb://10.10.10.100:27017/myDB");
BobRocks = new Mongo.Collection('bobRocks', { _driver: myDB })
最后,我使用:

MONGO_URL=mongodb://bob:12345@10.10.10.100:27017/admin meteor run

我错过了什么?我假设身份验证将遵循MONGO_URL声明,但它似乎没有遵循。

如果您使用linux,那么您必须像下面这样导出mongourl,然后像meteor一样运行

export MONGO_URL=mongodb://bob:12345@10.10.10.100:27017/admin meteor run
var myDB = new MongoInternals.RemoteCollectionDriver("mongodb://bob:12345@10.10.10.100:27017/myDB");
或者,如果您使用的是windows,则必须设置mongourl然后meteor运行

SET MONGO_URL=mongodb://bob:12345@10.10.10.100:27017/admin meteor run
请先尝试使用mongo cli进行连接

您也没有在此处传递用户名和密码

var myDB = new MongoInternals.RemoteCollectionDriver("mongodb://10.10.10.100:27017/myDB");
您可以在这里传递用户名和密码,就像在mongo url中传递一样

export MONGO_URL=mongodb://bob:12345@10.10.10.100:27017/admin meteor run
var myDB = new MongoInternals.RemoteCollectionDriver("mongodb://bob:12345@10.10.10.100:27017/myDB");

请确保远程服务器上存在myDB。

如果您使用的是linux,那么您必须像下面这样导出mongourl,然后像meteor一样运行

export MONGO_URL=mongodb://bob:12345@10.10.10.100:27017/admin meteor run
var myDB = new MongoInternals.RemoteCollectionDriver("mongodb://bob:12345@10.10.10.100:27017/myDB");
或者,如果您使用的是windows,则必须设置mongourl然后meteor运行

SET MONGO_URL=mongodb://bob:12345@10.10.10.100:27017/admin meteor run
请先尝试使用mongo cli进行连接

您也没有在此处传递用户名和密码

var myDB = new MongoInternals.RemoteCollectionDriver("mongodb://10.10.10.100:27017/myDB");
您可以在这里传递用户名和密码,就像在mongo url中传递一样

export MONGO_URL=mongodb://bob:12345@10.10.10.100:27017/admin meteor run
var myDB = new MongoInternals.RemoteCollectionDriver("mongodb://bob:12345@10.10.10.100:27017/myDB");

请确保远程服务器上存在myDB。

在实际节点应用程序的脚本中,我正在使用您提到的导出。如果我还必须在Meteor应用程序中传递用户名和密码,这难道不会否定一些安全性吗?另外,当我使用mongocli并使用
使用admin db.auth('bob','12345')
对“bob”进行身份验证时,我可以完全操纵脚本中的myDB(插入、查询等),用于您提到的实际节点应用程序,我正在使用导出。如果我还必须在Meteor应用程序中传递用户名和密码,这难道不会否定一些安全性吗?此外,当我使用mongocli并使用
使用admin db.auth('bob','12345')对“bob”进行身份验证时,
我可以完全操作myDB(插入、查询等)