Inheritance: BuilderBase, IMongoCollectionOptions
 /// <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);
		}
示例#5
0
 /// <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;
            }
        }
示例#7
0
        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;
 }
示例#12
0
        /// <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;
            }
        }