Status storeBSONDumpOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } ret = storeBSONToolOptions(params, args); if (!ret.isOK()) { return ret; } // BSONDump never has a db connection toolGlobalParams.noconnection = true; bsonDumpGlobalParams.type = getParam("type"); bsonDumpGlobalParams.file = getParam("file"); // Make the default db "" if it was not explicitly set if (!params.count("db")) { toolGlobalParams.db = ""; } // bsondump always outputs data to stdout, so we can't send messages there toolGlobalParams.canUseStdout = false; return Status::OK(); }
Status storeMongoExportOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } ret = storeFieldOptions(params, args); if (!ret.isOK()) { return ret; } mongoExportGlobalParams.outputFile = getParam("out"); mongoExportGlobalParams.outputFileSpecified = hasParam("out"); mongoExportGlobalParams.csv = hasParam("csv"); mongoExportGlobalParams.jsonArray = hasParam("jsonArray"); mongoExportGlobalParams.query = getParam("query", ""); mongoExportGlobalParams.snapShotQuery = false; if (!hasParam("query") && !hasParam("dbpath") && !hasParam("forceTableScan")) { mongoExportGlobalParams.snapShotQuery = true; } mongoExportGlobalParams.slaveOk = toolsParsedOptions["slaveOk"].as<bool>(); mongoExportGlobalParams.limit = getParam("limit", 0); mongoExportGlobalParams.skip = getParam("skip", 0); return Status::OK(); }
Status storeMongoRestoreOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } ret = storeBSONToolOptions(params, args); if (!ret.isOK()) { return ret; } mongoRestoreGlobalParams.restoreDirectory = getParam("dir"); mongoRestoreGlobalParams.drop = hasParam("drop"); mongoRestoreGlobalParams.keepIndexVersion = hasParam("keepIndexVersion"); mongoRestoreGlobalParams.restoreOptions = !hasParam("noOptionsRestore"); mongoRestoreGlobalParams.restoreIndexes = !hasParam("noIndexRestore"); mongoRestoreGlobalParams.w = getParam( "w" , 0 ); mongoRestoreGlobalParams.oplogReplay = hasParam("oplogReplay"); mongoRestoreGlobalParams.oplogLimit = getParam("oplogLimit", ""); // Make the default db "" if it was not explicitly set if (!params.count("db")) { toolGlobalParams.db = ""; } return Status::OK(); }
Status storeBSONDumpOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } ret = storeBSONToolOptions(params, args); if (!ret.isOK()) { return ret; } // BSONDump never has a db connection toolGlobalParams.noconnection = true; bsonDumpGlobalParams.type = getParam("type"); bsonDumpGlobalParams.file = getParam("file"); // Make the default db "" if it was not explicitly set if (!toolsParsedOptions.count("db")) { toolGlobalParams.db = ""; } return Status::OK(); }
Status storeMongoFilesOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } mongoFilesGlobalParams.command = getParam("command"); mongoFilesGlobalParams.gridFSFilename = getParam("file"); mongoFilesGlobalParams.localFile = getParam("local", mongoFilesGlobalParams.gridFSFilename); mongoFilesGlobalParams.contentType = getParam("type", ""); mongoFilesGlobalParams.replace = hasParam("replace"); return Status::OK(); }
Status storeMongoStatOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } if (hasParam("http")) { mongoStatGlobalParams.http = true; toolGlobalParams.noconnection = true; } if (hasParam("host") && getParam("host").find(',') != string::npos) { toolGlobalParams.noconnection = true; mongoStatGlobalParams.many = true; } if (hasParam("discover")) { mongoStatGlobalParams.discover = true; mongoStatGlobalParams.many = true; } mongoStatGlobalParams.showHeaders = !hasParam("noheaders"); mongoStatGlobalParams.rowCount = getParam("rowcount", 0); mongoStatGlobalParams.sleep = getParam("sleep", 1); mongoStatGlobalParams.allFields = hasParam("all"); // Make the default db "admin" if it was not explicitly set if (!params.count("db")) { toolGlobalParams.db = "admin"; } // end of storage / start of validation if (mongoStatGlobalParams.sleep <= 0) { return Status(ErrorCodes::BadValue, "Error parsing command line: --sleep must be greater than 0"); } if (mongoStatGlobalParams.rowCount < 0) { return Status(ErrorCodes::BadValue, "Error parsing command line: --rowcount (-n) can't be negative"); } return Status::OK(); }
Status storeMongoTopOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } mongoTopGlobalParams.sleep = getParam("sleep", 1); mongoTopGlobalParams.useLocks = hasParam("locks"); // Make the default db "admin" if it was not explicitly set if (!params.count("db")) { toolGlobalParams.db = "admin"; } return Status::OK(); }
Status storeMongoDumpOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } mongoDumpGlobalParams.repair = hasParam("repair"); if (mongoDumpGlobalParams.repair){ if (!hasParam("dbpath")) { return Status(ErrorCodes::BadValue, "repair mode only works with --dbpath"); } if (!hasParam("db")) { return Status(ErrorCodes::BadValue, "repair mode only works on 1 db at a time right now"); } } mongoDumpGlobalParams.query = getParam("query"); mongoDumpGlobalParams.useOplog = hasParam("oplog"); if (mongoDumpGlobalParams.useOplog) { if (hasParam("query") || hasParam("db") || hasParam("collection")) { return Status(ErrorCodes::BadValue, "oplog mode is only supported on full dumps"); } } mongoDumpGlobalParams.outputDirectory = getParam("out"); mongoDumpGlobalParams.snapShotQuery = false; if (!hasParam("query") && !hasParam("dbpath") && !hasParam("forceTableScan")) { mongoDumpGlobalParams.snapShotQuery = true; } // Make the default db "" if it was not explicitly set if (!params.count("db")) { toolGlobalParams.db = ""; } if (mongoDumpGlobalParams.outputDirectory == "-") { // write output to standard error to avoid mangling output // must happen early to avoid sending junk to stdout toolGlobalParams.canUseStdout = false; } return Status::OK(); }
Status storeMongoOplogOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } if (!hasParam("from")) { return Status(ErrorCodes::BadValue, "need to specify --from"); } else { mongoOplogGlobalParams.from = getParam("from"); } mongoOplogGlobalParams.seconds = getParam("seconds", 86400); mongoOplogGlobalParams.ns = getParam("oplogns"); return Status::OK(); }
Status storeMongoImportOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } ret = storeFieldOptions(params, args); if (!ret.isOK()) { return ret; } mongoImportGlobalParams.filename = getParam("file"); mongoImportGlobalParams.drop = hasParam("drop"); mongoImportGlobalParams.ignoreBlanks = hasParam("ignoreBlanks"); if (hasParam("upsert") || hasParam("upsertFields")) { mongoImportGlobalParams.upsert = true; string uf = getParam("upsertFields"); if (uf.empty()) { mongoImportGlobalParams.upsertFields.push_back("_id"); } else { StringSplitter(uf.c_str(), ",").split(mongoImportGlobalParams.upsertFields); } } else { mongoImportGlobalParams.upsert = false; } mongoImportGlobalParams.doimport = !hasParam("noimport"); mongoImportGlobalParams.type = getParam("type", "json"); mongoImportGlobalParams.jsonArray = hasParam("jsonArray"); mongoImportGlobalParams.headerLine = hasParam("headerline"); mongoImportGlobalParams.stopOnError = hasParam("stopOnError"); return Status::OK(); }
Status storeMongoStatOptions(const moe::Environment& params, const std::vector<std::string>& args) { Status ret = storeGeneralToolOptions(params, args); if (!ret.isOK()) { return ret; } if (hasParam("http")) { mongoStatGlobalParams.http = true; toolGlobalParams.noconnection = true; } if (hasParam("host") && getParam("host").find(',') != string::npos) { toolGlobalParams.noconnection = true; mongoStatGlobalParams.many = true; } if (hasParam("discover")) { mongoStatGlobalParams.discover = true; mongoStatGlobalParams.many = true; } mongoStatGlobalParams.showHeaders = !hasParam("noheaders"); mongoStatGlobalParams.rowCount = getParam("rowcount", 0); mongoStatGlobalParams.sleep = getParam("sleep", 1); mongoStatGlobalParams.allFields = hasParam("all"); // Make the default db "admin" if it was not explicitly set if (!toolsParsedOptions.count("db")) { toolGlobalParams.db = "admin"; } // Make the default db "admin" if it was not explicitly set if (!toolsParsedOptions.count("db")) { toolGlobalParams.db = "admin"; } return Status::OK(); }