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

Loopback ValidationError:`Role`インスタンスが無効です。詳細: `name`はすでに存在します(値:admin)

    Roleの場合 エンティティがデータベースに保存されている場合、このコードはそのロールエンティティ("admin"の名前)を作成しようとします )アプリケーションが起動するたび。ただし、初回以降、そのロールはすでに存在しているため、「名前」が重複しているというエラーが発生します。やりたいことは、ロールがまだ存在していないことを確認するか、ロールをDBに保存しないことです。

    コードを追加して現在のDBを確認し、そのロールが存在しない場合にのみ追加することができます。このようなもの:

    Role.find({ name: 'admin' }, function(err, results) {
        if (err) { /* handle this! */ }
    
        if (results.length < 1) {
            // now we know the DB doesn't have it already, so do the Role creation...
        }
    });
    

    また、そのロールテーブルに追加するプリンシパルがすでに含まれているかどうかを確認し、それらがまだ存在しない場合にのみ追加することもできます。




    1. 正しい挿入DateTimeをc#からmongodbに

    2. SQLiteからRedisへの移植

    3. SQLデータベースの代わりに/Redisなどのキー/値ストアを使用する場合

    4. mongodb c#API V2:ReplaceOneとFindOneAndReplaceの違い