public void Execute(Arguments arguments) { MongoDBSettings.GetInstance().ConnectionString = arguments.connectionString.Value; MongoDBSettings.GetInstance().DatabaseName = arguments.databaseName.Value; try { var connectionString = MongoDBSettings.GetInstance().ConnectionString; var client = new MongoClient(connectionString); var dbList = client.ListDatabases().ToList().Select(db => db.GetValue("name").AsString); bool isDbExists = dbList.Contains(arguments.databaseName.Value); if (!isDbExists) { throw new Exception(String.Format("Database {0} not found", arguments.databaseName.Value)); } } catch (Exception exc) { throw new ApplicationException($"Error occured init command :" + exc.Message); } }
public void Execute(Arguments arguments) { TextStructure cmdresult = new TextStructure(); try { String outData = "[]"; List <String> jsons = new List <string>(100); string ftl = "{}"; if (!String.IsNullOrWhiteSpace(arguments.filter.Value)) { ftl = arguments.filter.Value; } string sort = null; if (!String.IsNullOrWhiteSpace(arguments.sort.Value)) { sort = arguments.sort.Value; } int?skip = null; if (arguments.skip.Value > 0) { skip = arguments.skip.Value; } int?limit = null; if (arguments.limit.Value > 0) { limit = arguments.limit.Value; } var connectionString = MongoDBSettings.GetInstance().ConnectionString; var client = new MongoClient(connectionString); IMongoDatabase db = client.GetDatabase(MongoDBSettings.GetInstance().DatabaseName); var collection = db.GetCollection <BsonDocument>(arguments.collection.Value); var y = collection.Find(ftl).Skip(skip).Limit(limit).Sort(sort).ToListAsync(); y.Wait(); var jsonWriterSettings = new JsonWriterSettings { OutputMode = JsonOutputMode.Strict }; int count = y.Result.Count; if (count > 0) { StringBuilder sb = new StringBuilder(1024); sb.Append("[ "); for (int i = 0; i < count; i++) { sb.Append(y.Result[i].ToJson(jsonWriterSettings)); if (i != count - 1) { sb.Append(", "); } } sb.Append(" ]"); outData = sb.ToString(); } Scripter.Variables.SetVariableValue(arguments.Result.Value, new TextStructure(outData)); } catch (Exception exc) { throw new ApplicationException($"Error occured find command :" + exc.Message); } return; }
static MongoDBSettings() { instance = new MongoDBSettings(); }