J'ai vérifié plusieurs fois le document officiel, il contient la fonction rs.slaveOK() et aussi le document d'aide du shell.

shell-help document

Je ne peux pas utiliser rs.slaveOK() même si la fonction existe vraiment. (Une erreur s'est produite)

C'est tellement bizarre. Pourquoi donc?

Le shell essaie de m'indiquer que rs.slaveOK() n'est pas une fonction lorsque je le saisis.

1
戴志廉 17 janv. 2017 à 18:13

2 réponses

Meilleure réponse

Faites attention! Les fonctions MongoDB sont sensibles à la casse:

Rs.slaveOK () n'est pas une fonction

Rs.slaveOk () est la fonction que vous recherchez.

5
dyouberg 18 janv. 2017 à 16:20

Vous utiliseriez rs.slaveOk () lorsque votre Mongodb est configuré en tant que réplicaset et que vous souhaitez interroger l'un des nœuds secondaires, plutôt que le nœud principal. slaveOk indique au shell qu'il est autorisé à renvoyer les résultats d'un secondaire (plutôt que d'un primaire) même si les résultats peuvent ne pas être entièrement cohérents avec le primaire.

Je peux me tromper, mais il ne semble pas que vous soyez connecté à un Mongodb configuré en tant que réplicaset, et si vous l'êtes, je suppose que vous n'êtes pas connecté à un secondaire. Par conséquent, l'instruction d'interroger un secondaire n'a aucun sens.

1
robjwilkins 17 janv. 2017 à 16:35