sql >> Databasteknik >  >> NoSQL >> MongoDB

Loopback-fel:Auktorisering krävs

Se din senaste fråga Jag föreställer mig vad som hände.

På något sätt samlingen Role skapades men inte mappades till User .

Jag föreslår att du ändrar:

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);
                  });
                });
            }
        });

Av:

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);
      });
    });

Släpp rollsamlingen:db.Role.drop() och kör Loopback igen.

Obs! Jag gjorde samma uppdrag och arbetade för mig.



  1. Redis Cluster vs ZeroMQ i Pub/Sub, för horisontellt skalade distribuerade system

  2. Jämför datum (moment.js) i MongoDB

  3. Hämta dokument med kapslade objekt som matchar antalet villkor

  4. Hur man ansluter nodeJS docker-container till mongoDB