sql >> データベース >  >> NoSQL >> MongoDB

ループバックエラー:認証が必要です

    最後を見る質問 何が起こったのか想像します。

    どういうわけかコレクションRole 作成されましたが、Userにマップされていません 。

    変更することをお勧めします:

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

    作成者:

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

    ロールコレクションを削除します:db.Role.drop() ループバックを再度実行します。

    注:私は同じ割り当てを行っていて、私のために働いていました。



    1. 認証メカニズムSCRAM-SHA-1はサポートされていません

    2. redisで永続性を無効にする方法は?

    3. 要素が配列に存在しない場合の$addTosetと$pushの時間計算量

    4. PyMongoを使用して、MongoDB find()をシリアル化すると匿名ではないJSON配列に戻ります