public void CheckCollection(string collectionName, long collectionSize, long?collectionMaxItems, bool createIdField) { var db = _server.GetDatabase(_database); lock (CollectionCache) { if (CollectionCache.Contains(collectionName)) { return; } if (!db.CollectionExists(collectionName)) { var collectionOptionsBuilder = new CollectionOptionsBuilder(); collectionOptionsBuilder.SetCapped(true); collectionOptionsBuilder.SetMaxSize(collectionSize); if (createIdField) { collectionOptionsBuilder.SetAutoIndexId(true); } if (collectionMaxItems.HasValue) { collectionOptionsBuilder.SetMaxDocuments(collectionMaxItems.Value); } db.CreateCollection(collectionName, collectionOptionsBuilder); } CollectionCache.Add(collectionName); } }
/// <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); 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; } } }
public void CheckCollection(string collectionName, long collectionSize, long? collectionMaxItems, bool createIdField) { var db = _server.GetDatabase(_database); lock (_collectionCache) { if (_collectionCache.ContainsKey(collectionName)) return; if (!db.CollectionExists(collectionName)) { var collectionOptionsBuilder = new CollectionOptionsBuilder(); collectionOptionsBuilder.SetCapped(true); collectionOptionsBuilder.SetMaxSize(collectionSize); collectionOptionsBuilder.SetAutoIndexId(createIdField); if (collectionMaxItems.HasValue) collectionOptionsBuilder.SetMaxDocuments(collectionMaxItems.Value); db.CreateCollection(collectionName, collectionOptionsBuilder); } _collectionCache.Add(collectionName, createIdField); } }
private void CappedCollectionExample() { CollectionOptionsBuilder optionsBuilder = new CollectionOptionsBuilder(); optionsBuilder.SetCapped(true); optionsBuilder.SetMaxSize(52428800); CarRentalContext.CarRentalDatabase.CreateCollection("NewCollection", optionsBuilder); }
protected override void OK() { //db.runCommand({"convertToCapped": "mycoll", size: 100000}); ? не поддерживает maxdocs Guid g = Guid.NewGuid(); string s = g.ToString(); var b = new CollectionOptionsBuilder(); b.SetCapped(true).SetMaxDocuments(MaxCount).SetMaxSize(MaxSize); _coll.Database.CreateCollection(s, b); MongoCollection <BsonDocument> newcoll = _coll.Database.GetCollection(s); foreach (BsonDocument item in _coll.FindAllAs <BsonDocument>()) { newcoll.Save(item); } _coll.Drop(); }
/// <summary> /// Запись сообщения в БД Mongo /// </summary> /// <param name="message">Текст сообщения</param> private void WriteMessage(string message) { int hour = DateTime.Now.Hour; if (hour >= startHourIncluded && hour <= endHourIncluded) { MongoServer server = new MongoClient(_connectionString).GetServer(); // MongoServer.Create(_connectionString); var db = server.GetDatabase(_databaseName); if (!db.CollectionExists(_collectionName)) { CollectionOptionsBuilder b = new CollectionOptionsBuilder(); b = b.SetCapped(true).SetMaxSize(MB(500)); db.CreateCollection(_collectionName, b); } var collection = db.GetCollection <GenesisLogElement>(_collectionName); collection.Insert(new GenesisLogElement(message)); } }
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); } } 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) { return; } 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); 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 OK() { var b = new CollectionOptionsBuilder(); if (Capped) { b.SetCapped(Capped); } if (MaxSize.HasValue) { b.SetMaxSize(MaxSize.Value); } if (MaxDocuments.HasValue) { b.SetMaxDocuments(MaxDocuments.Value); } _db.CreateCollection(Name, b); MongoCollection <BsonDocument> mongoCollection = _db.GetCollection(Name); var coll = new DatabaseExplorerCollectionViewModel(mongoCollection); MessengerInstance.Send(new NotificationMessage <DatabaseExplorerCollectionViewModel>(this, coll, "added")); SimpleIoc.Default.GetInstance <MainViewModel>().Content.Remove(this); }
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) { 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 { RuntimeMongoDbContext.GetCurrentDataBase().IsCollectionNameValid(txtCollectionName.Text, out string 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; } }