MongoDB - Commande a échoué avec le code d'erreur 13 `pas autorisé par ***** pour exécuter cette commande`
Donc, pour une raison étrange, mon utilisateur n'est pas d'obtenir autorisé à écrire quoi que ce soit dans l'au-delà de la base de données. La connexion de base de données avec succès, mais l'accès pour accorder à l'utilisateur d'écrire dans la base de données ne fonctionne pas comme prévu.
D'Erreur Complet
Caused by: com.mongodb.MongoCommandException: Command failed with error 13: 'not authorized on krimson to execute command { findandmodify: "users", query: { _id: "_id" }, fields: {}, sort: {}, new: true, upsert: true, update: { $i
nc: { _id: 1 } } }' on server ds037395.mongolab.com:37395. The full response is { "ok" : 0.0, "errmsg" : "not authorized on krimson to execute command { findandmodify: \"users\", query: { _id: \"_id\" }, fields: {}, sort: {}, new:
true, upsert: true, update: { $inc: { _id: 1 } } }", "code" : 13 }
De Code De Connexion
public static void connects(String ip, int port, String database, String username, String password) {
try {
client = new MongoClient(ip, port); /**Creating our connection between server & MongoDB*/
krimson = client.getDB(database); /**Checks if the database exists or not if not then create a new one*/
MongoCredential.createCredential(username, database, password.toCharArray()); /**Credentials used to connect to MongoDB*/
} catch (Exception e){
e.printStackTrace();
System.out.println("Linking connections failed"); /**Outputs when the database cannot connect*/
UtilServer.broadcast("&c&lThe Krimson Library did not establish a successfully connection.");
}
users = krimson.getCollection("users");
}
J'ai essayé de recréer l'utilisateur et la réputation dans les informations d'identification pour voir si c'était le problème et il n'était pas. Je suis en utilisant MongoLab au moment. Alors je me demandais si cela pourrait être l'un des problèmes ou ne pas ou est-il une manière spécifique j'ai besoin d'attribuer à un utilisateur admin rôle dans MongoLab manuellement
OriginalL'auteur Crypt Junior | 2016-01-18
Vous devez vous connecter pour publier un commentaire.
Vous devez accorder l'accès en écriture pour le compte de l'utilisateur dans le shell mongo:
Dans le
mongo
shell (ligne de commande)Je voudrais donc vous connecter avec le Shell Mongo et exécuter la commande? Je suis en utilisant MongoLab?
Vous pouvez exécuter
mongo ds037395.mongolab.com:37395
A la même erreur que @CryptJunior, mais que l'octroi de ce rôle n'a pas résolu le problème.
OriginalL'auteur Jaco