MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

rmongodb удостоверяването винаги е неуспешно

Вероятно използвате сървърна версия на MongoDB 3.0 или по-нова (серия 3.x текуща като писане), която има актуализиран механизъм за удостоверяване на сигурността ( SCRAM-SHA-1 от MONGODB-CR ), който не е съвместим с по-стари версии на драйвери, които не го поддържат.

Към текущия rmongodb издание на пакета (версия 1.8.0 на писане), този драйвер се основава на изпълнението на наследения C драйвер, който не е съвместим с новите методи за удостоверяване. Както е отбелязано и в проблеми в това хранилище , авторът отбелязва тази зависимост на драйвера и заявява, че пакетът ще изисква пренаписване, за да използва новия API, който поддържа новия метод за удостоверяване.

Към момента на писане не изглежда да има никакви ходове за извършване на такива промени, освен за установяване на нов клон който в момента не е готов за пускане.

Следователно вашите възможности в момента са:

  • Работете без удостоверяване, когато е възможно
  • Понижете версията на MongoDB сървъра до такава, която поддържа старата автентификация
  • Потърсете други реализации на драйвери, които поддържат новото удостоверяване.

Така че самият "rmongodb" в момента не може да се свърже със сървъри MongoDB 3.x. Или приложете един от другите избори и/или допринесете сами за хранилището, ако можете да ускорите развитието му до следващата версия с пълна поддръжка за удостоверяване.

Други възможни алтернативи на драйвери са свързани или обсъдени в проблема, свързан в този отговор.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Проверка на връзката с MongoDB

  2. Заявка към монгоидно хеш поле

  3. Използването на findOne в цикъл отнема твърде много време в Node.js

  4. Как да определите дали $addToSet действително е добавил нов елемент в MongoDB документ или елементът вече е съществувал?

  5. Как да попълним поддокумент в mongoose след създаването му?