Nếu bạn là Role
thực thể đang được lưu trữ trong cơ sở dữ liệu thì mã này sẽ cố gắng tạo thực thể Vai trò đó (với tên là "admin"
) mỗi khi ứng dụng của bạn bắt đầu. Tuy nhiên, sau lần đầu tiên, Vai trò đó sẽ tồn tại, do đó bạn sẽ gặp lỗi rằng bạn có "tên" trùng lặp. Những gì bạn có thể muốn làm là kiểm tra xem Vai trò chưa tồn tại hoặc không lưu trữ các Vai trò trong DB của bạn.
Bạn có thể thêm một số mã để kiểm tra DB hiện tại và chỉ thêm Vai trò đó nếu nó không tồn tại. Một cái gì đó như thế này:
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...
}
});
Lưu ý rằng bạn cũng muốn kiểm tra xem bảng Vai trò đó đã có các nguyên tắc mà bạn đang thêm hay chưa và chỉ thêm chúng nếu chúng chưa có ở đó.