sql >> Databáze >  >> NoSQL >> MongoDB

Jaká uživatelská oprávnění MongoDB potřebuji k přidání uživatele do nové/jiné mongo databáze?

Chyba byla v tom, že jsem používal userAdminAnyDatabase uživatel, který NEBYL v správci databáze (viz tato poznámka). Takže tam MUSÍ být databází s názvem admin na vašem serveru! Jak uvádí dokumentace pro oprávnění "AnyDatabase":

Pokud některou z těchto rolí přidáte do dokumentu uživatelských oprávnění mimo databázi správce, toto oprávnění nebude mít žádný účinek.

Takže musíte:

  • přidejte userAdminAnyDatabase admin db

    $ mongo admin
    > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
    
  • zapněte ověřování

    auth = true
    setParameter = enableLocalhostAuthBypass=0
    
  • připojte se pomocí nového myadmin uživatele do libovolné databáze a přidejte další uživatele:

    $ mongo another -u myadmin -p 1234
    > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
    

    nebo

    > use another
    > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
    


  1. Ukládání vnořených struktur pomocí mgo

  2. Aktualizujte vnořené vnořené dokumenty v MongoDB pomocí arrayFilters

  3. Jak aktualizovat _id jednoho dokumentu MongoDB?

  4. Mongo najít duplikáty pro záznamy pro dvě nebo více polí