如何避免SyntaxError:missing:mongoDb上的属性ID @(shell):1:36之后?

时间:2018-09-19 14:32:42

标签: mongodb mongodb-query

我是mongodb的新手,只是从mongodb开始的。我正在写给用户角色,但抛出SyntaxError:missing:在属性id @ {shell):1:36之后:试图删除空间但没有锻炼。

db.grantRolesToUser(
{
"user",
roles: [{
"role" : "readWrite",
"db" : "chatlogging"
},
{ role: "userAdminAnyDatabase", db: "admin"}]
}
)

对此有任何线索。谢谢。

2 个答案:

答案 0 :(得分:0)

您放了一个多余的花括号

命令应该像

db.grantRolesToUser(
 "user",
 [
  {"role" : "readWrite", "db" : "chatlogging"},
  {"role" : "userAdminAnyDatabase", "db": "admin"}
 ]
)

请参阅文档https://docs.mongodb.com/manual/reference/method/db.grantRolesToUser/

答案 1 :(得分:0)

根据文档(https://docs.mongodb.com/manual/reference/method/db.grantRolesToUser/),您不需要将角色指定为命令中的键,请尝试执行以下操作

componentWillReceiveProps(nextProps) {
      this.funUserAssignTo(loginUser);
}

<button key={user._id} className="dropdown-item" type="button" onClick={(e)=>this.funUserAssignTo(user)}><span>{user.name}</span></button>


funUserAssignTo(user = ""){
    var self = this;
    if(General.notEmpty(user)){
      this.setState({
        selectedUser: user
      },() => {self.props.callBack(user._id)});
    }
  }