L'éditeur PHP Youzi vous présentera comment utiliser la méthode db.getUser() dans go mongo-driver. Lors de l'utilisation de la base de données MongoDB, la méthode getUser() est une fonction très pratique qui peut être utilisée pour obtenir des informations détaillées sur un utilisateur spécifié. Grâce aux conseils de cet article, vous apprendrez à utiliser cette méthode correctement et à obtenir les informations utilisateur requises. Lisez cet article et explorons ensemble cette fonctionnalité utile !
Je souhaite obtenir les détails de l'utilisateur de la base de données à l'aide du pilote Go.
Par exemple. en mongoshell
> db.getuser("testuser") null
Comment puis-je créer bson.m ou bson.d pour cela ?
Je ne veux pas transmettre de paramètres supplémentaires, récupérez simplement les informations utilisateur de la base de données
var op bson.m command := bson.d{{"getuser", 1}, {"username", "testuser"}} err = clientinfo.database(db).runcommand(context.todo(), cmd).decode(&op)
J'ai essayé quelque chose comme ci-dessus mais cela a renvoyé l'erreur suivante :
(CommandNotFound) no such command: 'getUser'
Qu'est-ce qui me manque ici ? Fonction
database.runcommand()
是为了方便调用mongodb的runcommand()
, c'est-à-dire exécuter la commande de base de données.
Autrement dit, la fonction getuser()
que vous appelez dans le shell mongo est une fonction, pas une commande.
Mais il existe une commande usersinfo
pour obtenir les mêmes données. Sa syntaxe est :
db.runcommand( { usersinfo: <various>, showcredentials: <boolean>, showcustomdata: <boolean>, showprivileges: <boolean>, showauthenticationrestrictions: <boolean>, filter: <document>, comment: <any> } )
Voici comment exécuter la commande usersinfo
:
var op bson.m cmd := bson.d{{key: "usersinfo", value: bson.m{ "user": "testuser", "db": "admin", }}} err = clientinfo.database(db).runcommand(ctx, cmd).decode(&op)
Veuillez noter que usersinfo
la documentation comporte diverses spécifications, par exemple :
{ usersinfo: 1 }
Renvoie des informations sur l'utilisateur dans la base de données exécutant cette commande.
mongosh
为该命令的调用提供 db.getusers()
Aide.
{ usersinfo: <username> }
Renvoie des informations sur l'utilisateur spécifique présent dans la base de données exécutant la commande.
mongosh
为该命令的调用提供 db.getuser()
Aide.
{ usersinfo: { user: <name>, db: <db> } }
Renvoie des informations sur l'utilisateur spécifié par son nom et sa base de données.
{ usersinfo: [ { user: <name>, db: <db> }, ... ] } { usersinfo: [ <username1>, ... ] }
Renvoie des informations sur l'utilisateur spécifié.
{ foralldbs: true }
Renvoie des informations sur tous les utilisateurs de la base de données.
Comme vous pouvez le voir, la commande getuser()
命令是 { usersinfo: <username> }
est l'abréviation de {usersinfo: <username>
et vous pouvez l'appeler comme ceci :
var op bson.m cmd := bson.d{{key: "usersinfo", value: "testuser"}} err = clientinfo.database(db).runcommand(ctx, cmd).decode(&op)
Si vous souhaitez des informations sur plusieurs utilisateurs, vous pouvez bien sûr utiliser un tableau :
cmd := bson.D{{Key: "usersInfo", Value: []string{"testuser", "anotheruser"}}}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!