/// <summary> /// 带有参数的CreateOption /// </summary> /// <param name="strObjTag"></param> /// <param name="treeNode"></param> /// <param name="collectionName"></param> /// <param name="option"></param> /// <returns></returns> public static Boolean CreateCollectionWithOptions(String strObjTag, TreeNode treeNode, String collectionName, CollectionOptionsBuilder option) { Boolean rtnResult = false; MongoDatabase mongoDB = GetMongoDBBySvrPath(strObjTag); String strSvrPath = SystemManager.GetTagData(strObjTag); String svrKey = strSvrPath.Split("/".ToCharArray())[(int)PathLv.ServerLV]; String ConKey = strSvrPath.Split("/".ToCharArray())[(int)PathLv.ConnectionLV]; if (mongoDB != null) { if (!mongoDB.CollectionExists(collectionName)) { mongoDB.CreateCollection(collectionName, option); foreach (TreeNode item in treeNode.Nodes) { if (item.Tag.ToString().StartsWith(COLLECTION_LIST_TAG)) { item.Nodes.Add(FillCollectionInfoToTreeNode(collectionName, mongoDB, ConKey + "/" + svrKey)); } } rtnResult = true; } } return rtnResult; }
/// <summary> /// OK /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdOK_Click(object sender, EventArgs e) { if (txtCollectionName.Text != String.Empty) { try { String ErrMessage; SystemManager.GetCurrentDataBase().IsCollectionNameValid(txtCollectionName.Text, out ErrMessage); if (ErrMessage != null) { MyMessageBox.ShowMessage("Create MongoDatabase", "Argument Exception", ErrMessage, true); return; } if (chkAdvance.Checked) { CollectionOptionsBuilder option = new CollectionOptionsBuilder(); option.SetCapped(chkIsCapped.Checked); option.SetMaxSize((long)numMaxSize.Value); option.SetMaxDocuments((long)numMaxDocument.Value); //CappedCollection Default is AutoIndexId After MongoDB 2.2.2 option.SetAutoIndexId(chkIsAutoIndexId.Checked); Result = MongoDBHelper.CreateCollectionWithOptions(strSvrPathWithTag, treeNode, txtCollectionName.Text, option); } else { Result = MongoDBHelper.CreateCollection(strSvrPathWithTag, treeNode, txtCollectionName.Text); } this.Close(); } catch (ArgumentException ex) { MyMessageBox.ShowMessage("Create MongoDatabase", "Argument Exception", ex.Message, true); Result = false; } } }
/// <summary> /// OK /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdOK_Click(object sender, EventArgs e) { if (txtCollectionName.Text != String.Empty) { try { if (chkAdvance.Checked) { CollectionOptionsBuilder option = new CollectionOptionsBuilder(); option.SetCapped(chkIsCapped.Checked); option.SetMaxSize((long)numMaxSize.Value); option.SetMaxDocuments((long)numMaxDocument.Value); option.SetAutoIndexId(chkIsAutoIndexId.Checked); Result = MongoDBHelper.CreateCollectionWithOptions(strSvrPathWithTag, treeNode, txtCollectionName.Text, option); } else { Result = MongoDBHelper.CreateCollection(strSvrPathWithTag, treeNode, txtCollectionName.Text); } this.Close(); } catch (ArgumentException ex) { MyMessageBox.ShowMessage("Create MongoDatabase", "Argument Exception", ex.Message, true); Result = false; } } else { MyMessageBox.ShowMessage("Create MongoDatabase", "Argument Exception:Please fill Collection Name"); } }
private void CappedCollectionExample() { CollectionOptionsBuilder optionsBuilder = new CollectionOptionsBuilder(); optionsBuilder.SetCapped(true); optionsBuilder.SetMaxSize(52428800); CarRentalContext.CarRentalDatabase.CreateCollection("NewCollection", optionsBuilder); }
/// <summary> /// 带有参数的CreateOption /// </summary> /// <param name="strObjTag"></param> /// <param name="collectionName"></param> /// <param name="option"></param> /// <param name="mongoDb"></param> /// <returns></returns> public static bool CreateCollectionWithOptions(string strObjTag, string collectionName, CollectionOptionsBuilder option, MongoDatabase mongoDb) { //不支持中文 JIRA ticket is created : SERVER-4412 //SERVER-4412已经在2013/03解决了 //collection names are limited to 121 bytes after converting to UTF-8. if (mongoDb == null) return false; if (mongoDb.CollectionExists(collectionName)) return false; mongoDb.CreateCollection(collectionName, option); return true; }
/// <summary> /// OK /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdOK_Click(object sender, EventArgs e) { //不支持中文 JIRA ticket is created : SERVER-4412 //SERVER-4412已经在2013/03解决了 //collection names are limited to 121 bytes after converting to UTF-8. if (txtCollectionName.Text == string.Empty) return; CollectionName = txtCollectionName.Text; try { string errMessage; RuntimeMongoDbContext.GetCurrentDataBase().IsCollectionNameValid(txtCollectionName.Text, out errMessage); if (errMessage != null) { MyMessageBox.ShowMessage("Create MongoDatabase", "Argument Exception", errMessage, true); return; } if (chkAdvance.Checked) { var option = new CollectionOptionsBuilder(); option.SetCapped(chkIsCapped.Checked); option.SetMaxSize((long) numMaxSize.Value); option.SetMaxDocuments((long) numMaxDocument.Value); //CappedCollection Default is AutoIndexId After MongoDB 2.2.2 option.SetAutoIndexId(chkIsAutoIndexId.Checked); if (chkValidation.Checked) { //Start From MongoDB 3.2.0 option.SetValidator((QueryDocument) BsonDocument.Parse(txtValidation.Text)); //Validation Level if (radLevel_off.Checked) option.SetValidationLevel(DocumentValidationLevel.Off); if (radLevel_strict.Checked) option.SetValidationLevel(DocumentValidationLevel.Strict); if (radLevel_moderate.Checked) option.SetValidationLevel(DocumentValidationLevel.Moderate); //Validation Action if (radAction_error.Checked) option.SetValidationAction(DocumentValidationAction.Error); if (radAction_warn.Checked) option.SetValidationAction(DocumentValidationAction.Warn); } Result = Operater.CreateCollectionWithOptions(StrSvrPathWithTag, txtCollectionName.Text, option, RuntimeMongoDbContext.GetCurrentDataBase()); } else { Result = Operater.CreateCollection(StrSvrPathWithTag, txtCollectionName.Text, RuntimeMongoDbContext.GetCurrentDataBase()); } Close(); } catch (ArgumentException ex) { Utility.ExceptionDeal(ex, "Create MongoDatabase", "Argument Exception"); Result = false; } }
protected override void BeginProcessing() { // default options var options = new CollectionOptionsBuilder(); // capped collection if (MaxSize > 0) { options.SetCapped(true); options.SetMaxSize(MaxSize); if (MaxDocuments > 0) options.SetMaxDocuments(MaxDocuments); } // auto arrayIndex explicitly, otherwise default is used if (_setAutoIndexId) options.SetAutoIndexId(_AutoIndexId); Database.CreateCollection(Name, options); }
/// <summary> /// OK /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdOK_Click(object sender, EventArgs e) { //不支持中文 JIRA ticket is created : SERVER-4412 //SERVER-4412已经在2013/03解决了 //collection names are limited to 121 bytes after converting to UTF-8. if (txtCollectionName.Text != String.Empty) { try { String ErrMessage; SystemManager.GetCurrentDataBase().IsCollectionNameValid(txtCollectionName.Text, out ErrMessage); if (ErrMessage != null) { MyMessageBox.ShowMessage("Create MongoDatabase", "Argument Exception", ErrMessage, true); return; } if (chkAdvance.Checked) { CollectionOptionsBuilder option = new CollectionOptionsBuilder(); option.SetCapped(chkIsCapped.Checked); option.SetMaxSize((long)numMaxSize.Value); option.SetMaxDocuments((long)numMaxDocument.Value); //CappedCollection Default is AutoIndexId After MongoDB 2.2.2 option.SetAutoIndexId(chkIsAutoIndexId.Checked); Result = MongoDBHelper.CreateCollectionWithOptions(strSvrPathWithTag, treeNode, txtCollectionName.Text, option); } else { Result = MongoDBHelper.CreateCollection(strSvrPathWithTag, treeNode, txtCollectionName.Text); } this.Close(); } catch (ArgumentException ex) { SystemManager.ExceptionDeal(ex, "Create MongoDatabase", "Argument Exception"); Result = false; } } }
public void TestSetNone() { var options = new CollectionOptionsBuilder(); var expected = "{ }".Replace("'", "\""); Assert.AreEqual(expected, options.ToJson()); }
/// <summary> /// 带有参数的CreateOption /// </summary> /// <param name="strSvrPathWithTag"></param> /// <param name="treeNode"></param> /// <param name="collectionName"></param> /// <param name="IsCapped"></param> /// <param name="MaxSize"></param> /// <param name="IsAutoIndexId"></param> /// <param name="IsMaxDocument"></param> /// <returns></returns> public static Boolean CreateCollectionWithOptions(String strSvrPathWithTag, TreeNode treeNode, String collectionName, Boolean IsCapped, long MaxSize, Boolean IsAutoIndexId, long IsMaxDocument) { Boolean rtnResult = false; MongoDatabase mongoDB = GetMongoDBBySvrPath(strSvrPathWithTag); String strSvrPath = strSvrPathWithTag.Split(":".ToCharArray())[1]; String svrkey = strSvrPath.Split("/".ToCharArray())[0]; if (mongoDB != null) { if (!mongoDB.CollectionExists(collectionName)) { CollectionOptionsBuilder COB = new CollectionOptionsBuilder(); COB.SetCapped(IsCapped); COB.SetMaxSize(MaxSize); COB.SetAutoIndexId(IsAutoIndexId); COB.SetMaxDocuments(IsMaxDocument); mongoDB.CreateCollection(collectionName, COB); treeNode.Nodes.Add(FillCollectionInfoToTreeNode(collectionName, mongoDB, svrkey)); rtnResult = true; } } return rtnResult; }
/// <summary> /// 带有参数的CreateOption /// </summary> /// <param name="strObjTag"></param> /// <param name="treeNode"></param> /// <param name="collectionName"></param> /// <param name="option"></param> /// <returns></returns> public static Boolean CreateCollectionWithOptions(String strObjTag, TreeNode treeNode, String collectionName, CollectionOptionsBuilder option) { //不支持中文 JIRA ticket is created : SERVER-4412 //SERVER-4412已经在2013/03解决了 //collection names are limited to 121 bytes after converting to UTF-8. Boolean rtnResult = false; MongoDatabase mongoDB = GetMongoDBBySvrPath(strObjTag); String strSvrPath = SystemManager.GetTagData(strObjTag); String svrKey = strSvrPath.Split("/".ToCharArray())[(int) PathLv.InstanceLv]; String ConKey = strSvrPath.Split("/".ToCharArray())[(int) PathLv.ConnectionLv]; if (mongoDB != null) { if (!mongoDB.CollectionExists(collectionName)) { mongoDB.CreateCollection(collectionName, option); foreach (TreeNode item in treeNode.Nodes) { if (item.Tag.ToString().StartsWith(COLLECTION_LIST_TAG)) { item.Nodes.Add(UIHelper.FillCollectionInfoToTreeNode(collectionName, mongoDB, ConKey + "/" + svrKey)); } } rtnResult = true; } } return rtnResult; }
/// <summary> /// OK /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdOK_Click(object sender, EventArgs e) { //不支持中文 JIRA ticket is created : SERVER-4412 //SERVER-4412已经在2013/03解决了 //collection names are limited to 121 bytes after converting to UTF-8. if (txtCollectionName.Text == string.Empty) { MyMessageBox.ShowMessage("Please Input CollectionName", "Please Input CollectionName"); return; } CollectionName = txtCollectionName.Text.Trim(); if (string.IsNullOrEmpty(CollectionName)) { MyMessageBox.ShowMessage("Please Input CollectionName", "Please Input CollectionName"); return; } try { string errMessage; RuntimeMongoDbContext.GetCurrentDataBase().IsCollectionNameValid(txtCollectionName.Text, out errMessage); if (errMessage != null) { MyMessageBox.ShowMessage("Create Collection", "Argument Exception", errMessage, true); return; } var option = new CollectionOptionsBuilder(); if (chkIsCapped.Checked) { if (numMaxSize.Value == 0 || numMaxDocument.Value == 0) { MyMessageBox.ShowMessage("Create Collection", "Argument Exception", "Please Input MaxSize Or MaxDocument When IsCapped", true); return; } option.SetCapped(chkIsCapped.Checked); if (numMaxSize.Value != 0) option.SetMaxSize((long)numMaxSize.Value); if (numMaxDocument.Value != 0) option.SetMaxDocuments((long)numMaxDocument.Value); } //CappedCollection Default is AutoIndexId After MongoDB 2.2.2 //Deprecated since version 3.2: The autoIndexId option will be removed in version 3.4. //option.SetAutoIndexId(chkIsAutoIndexId.Checked); if (chkValidation.Checked && ValidationDoc != null) { //Start From MongoDB 3.2.0 QueryDocument queryDoc = new QueryDocument(ValidationDoc); option.SetValidator(queryDoc); //Validation Level if (radLevel_off.Checked) option.SetValidationLevel(DocumentValidationLevel.Off); if (radLevel_strict.Checked) option.SetValidationLevel(DocumentValidationLevel.Strict); if (radLevel_moderate.Checked) option.SetValidationLevel(DocumentValidationLevel.Moderate); //Validation Action if (radAction_error.Checked) option.SetValidationAction(DocumentValidationAction.Error); if (radAction_warn.Checked) option.SetValidationAction(DocumentValidationAction.Warn); } if (mCollation != null) option.SetCollation(mCollation); Result = Operater.CreateCollectionWithOptions(StrSvrPathWithTag, txtCollectionName.Text, option, RuntimeMongoDbContext.GetCurrentDataBase()); Close(); } catch (ArgumentException ex) { Utility.ExceptionDeal(ex, "Create MongoDatabase", "Argument Exception"); Result = false; } }