MongoDB erreur: Impossible d'utiliser les "commandes" readMode, la dégradation d '"héritage" mode
J'ai donc été le développement d'un projet à l'aide de mongo et j'ai une erreur après l'exécution du code:
db.usercollection.insert({ "username" : "testuser1", "email" : "[email protected]" })
L'erreur affichée est:
Cannot use 'commands' readMode, degrading to 'legacy' mode WriteResult({
"writeError" : {
"code" : 13,
"errmsg" : "not authorized on watersheds to execute command { insert: \"usercollection\", documents: [ { _id: ObjectId('568d0eda45d472b121116bef'), username: \"testuser1\", email: \"[email protected]\" } ], ordered: true }"
} })
La db.version() est 3.0.7 et j'ai installé MongoDB shell version 3.2.0
Comment dois-je résoudre ce problème?
Ce qui concerne,
Daryll
redémarrez le shell mongo et problème de db.getMongo().forceReadMode("legacy") ou db.getMongo().forceReadMode("compatibilité") de commande.
Votre coquille et DB versions ne sont probablement pas les mêmes. stackoverflow.com/questions/24916320/...
Votre coquille et DB versions ne sont probablement pas les mêmes. stackoverflow.com/questions/24916320/...
OriginalL'auteur dgnebres | 2016-01-06
Vous devez vous connecter pour publier un commentaire.
Ça marche!!! peut-être mongo besoins de fonctionnement.
OriginalL'auteur Geraint
Je viens de redémarrer le mongod processus de la place et fonctionne pour moi.
OriginalL'auteur harryssuperman
Expansion sur @Buzut du commentaire ci-dessus...
Je viens de tomber sur cette même erreur. Pour moi, le problème était une version de la différence entre le client s'exécutant localement et la version de la mongo db en cours d'exécution dans le cloud.
Pour vérifier si c'est votre problème, exécutez
mongo --version
localement et de prendre note du numéro de version. Puis connectez-vous à votre mongo db shell et exécuterdb.version()
pour vérifier la version.Si il y a une différence majeure entre ces nombres (comme un client version 3 et la version 2 db), vous aurez probablement besoin de passer à la version du client proche de votre version db.
Pour ce faire, allez les Mongo du centre de téléchargement: https://www.mongodb.com/download-center#production
Sélectionnez votre plate-forme, puis cliquez sur "Toutes les versions Binaires", et recherchez un téléchargement qui correspond à votre hébergé db.
Qui va télécharger un fichier compressé que vous aurez besoin de décompresser. Et à l'intérieur il y aura un dossier. Utilisez simplement le chemin d'accès à l' /bin/mongo exécutable (à l'intérieur de ce dossier) pour l'exécution de votre mongo commandes. Par exemple:
/path/to/downloads/mongodb-osx-x86_64-2.6.9/bin/mongo <whatever mongo commands you want>
Espère que ça aide.
OriginalL'auteur Malcolm Diggs
Je ne sais pas si vous êtes victime d'avoir
replica set
et perduPrimary db
ou non.Si oui, de recréer la Primaire de l'un ou de l'utilisation de cette commande avant de votre insertion.
OriginalL'auteur Amir
Ne peut pas utiliser
'commands' readMode
, dégradant pourlegacy mode
,Ça marche pour moi !
OriginalL'auteur Timmy