shared.js 767 B

123456789101112131415161718192021222324252627
  1. "use strict"
  2. var ReadPreference = require('../topologies/read_preference'),
  3. MongoError = require('../error');
  4. var getReadPreference = function(cmd, options) {
  5. // Default to command version of the readPreference
  6. var readPreference = cmd.readPreference || new ReadPreference('primary');
  7. // If we have an option readPreference override the command one
  8. if(options.readPreference) {
  9. readPreference = options.readPreference;
  10. }
  11. if(typeof readPreference == 'string') {
  12. readPreference = new ReadPreference(readPreference);
  13. }
  14. if(!(readPreference instanceof ReadPreference)) {
  15. throw new MongoError('readPreference must be a ReadPreference instance');
  16. }
  17. return readPreference;
  18. }
  19. module.exports = {
  20. getReadPreference: getReadPreference
  21. }