MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Erreur de bouclage :autorisation requise

Voir votre dernier question J'imagine ce qui s'est passé.

D'une certaine manière, la collection Role a été créé mais pas mappé à User .

Je vous propose de changer :

Role.find({ name: 'admin' }, function(err, results) {
            if (err) { throw err; }

            if (results.length < 1) {
                // now we know the DB doesn't have it already, so do the Role creation...
                //create the admin role
                Role.create({
                  name: 'admin'
                }, function(err, role) {
                  if (err) throw (err);
                   //make admin
                  role.principals.create({
                    principalType: RoleMapping.USER,
                    principalId: users[0].id
                  }, function(err, principal) {
                    if (err) throw (err);
                  });
                });
            }
        });

Par :

Role.create({
      name: 'admin'
    }, function(err, role) {
      if (err) throw (err);
       //make admin
      role.principals.create({
        principalType: RoleMapping.USER,
        principalId: users[0].id
      }, function(err, principal) {
        if (err) throw (err);
      });
    });

Supprimez la collection de rôles :db.Role.drop() et exécutez à nouveau Loopback.

Remarque :Je faisais la même mission et travaillais pour moi.