MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Rails Mongoid ne parvient pas à s'authentifier - a échoué avec l'erreur 13 :non autorisé pour la requête sur my_db.my_collection

Couru dans ce problème aussi. Je serais prêt à deviner que vous utilisez MongoDB 3+ ?

La mauvaise nouvelle : Moped 2 (utilisé par mongoid aujourd'hui) ne prend pas en charge l'authentification pour MongoDB 3+.

La bonne nouvelle : Une réécriture majeure est actuellement en cours (Mongoid 5), qui sera prise en charge par l'équipe MongoDB. Vous pouvez tirer du maître aujourd'hui et le tester... mais je ne le recommanderais pas encore pour la production car il est très instable.

Options de solutions

  1. Supprimez user/pass auth de MongoDB et tout DNS public de la base de données. Utilisez SSH avec une clé privée et connectez-vous à l'adresse privée.
  2. Rétrograder vers MongoDB 2.x
  3. Utiliser Mongoid 5