Users/srnara/mongo index (#229)

* added placeholder

* Added check box

* Added tolltip width constant

* Add telemetry

* formatting error

* formatting error

* support only for mongo v 3.6 accounts

* resolved comment
This commit is contained in:
Srinath Narayanan
2020-09-28 01:36:10 -07:00
committed by GitHub
parent 70c7d84bdb
commit 4b0b63b56b
9 changed files with 62 additions and 56 deletions

View File

@@ -418,7 +418,6 @@
</div>
<!-- large parition key - end -->
<!-- Provision collection throughput - start -->
<!-- ko if: canConfigureThroughput -->
<!-- Provision collection throughput checkbox - start -->
<div class="pkPadding" data-bind="visible: databaseHasSharedOffer() && !databaseCreateNew()">
@@ -511,6 +510,23 @@
<!-- /ko -->
<!-- Provision collection throughput - end -->
<!-- Custom indexes for mongo checkbox - start -->
<div class="pkPadding" data-bind="visible: container.isEnableMongoCapabilityPresent()">
<p>
<span class="addCollectionLabel">Indexing</span>
</p>
<input type="checkbox" id="mongoWildcardIndex" title="mongoWildcardIndex"
data-bind="checked: shouldCreateMongoWildcardIndex" />
<span>Create a Wildcard Index on all fields</span>
<span class="infoTooltip" role="tooltip" tabindex="0">
<img class="infoImg" src="/info-bubble.svg" alt="More information">
<span class="tooltiptext mongoWildcardIndexTooltipWidth">
By default, only the field _id is indexed. Creating a wildcard index on all fields will quickly optimize query performance and is recommended during development.
</span>
</span>
</div>
<!-- Custom indexes for mongo checkbox - end -->
<!-- Enable analytical storage - start -->
<div class="enableAnalyticalStorage pkPadding" aria-label="Enable Analytical Store"
data-bind="visible: isSynapseLinkSupported">

View File

@@ -99,6 +99,7 @@ export default class AddCollectionPane extends ContextualPaneBase {
public ruToolTipText: ko.Computed<string>;
public canConfigureThroughput: ko.PureComputed<boolean>;
public showUpsellMessage: ko.PureComputed<boolean>;
public shouldCreateMongoWildcardIndex: ko.Observable<boolean>;
private _databaseOffers: HashMap<DataModels.Offer>;
private _isSynapseLinkEnabled: ko.Computed<boolean>;
@@ -660,6 +661,8 @@ export default class AddCollectionPane extends ContextualPaneBase {
changedSelectedValueTo: value ? ActionModifiers.IndexAll : ActionModifiers.NoIndex
});
});
this.shouldCreateMongoWildcardIndex = ko.observable(false);
}
public getSharedThroughputDefault(): boolean {
@@ -832,9 +835,10 @@ export default class AddCollectionPane extends ContextualPaneBase {
let collectionId: string = this.collectionId().trim();
let indexingPolicy: DataModels.IndexingPolicy;
let createMongoWildcardIndex: boolean;
// todo - remove mongo indexing policy ticket # 616274
if (this.container.isPreferredApiMongoDB()) {
indexingPolicy = SharedConstants.IndexingPolicies.Mongo;
createMongoWildcardIndex = this.shouldCreateMongoWildcardIndex();
} else if (this.showIndexingOptionsForSharedThroughput()) {
if (this.useIndexingForSharedThroughput()) {
indexingPolicy = SharedConstants.IndexingPolicies.AllPropertiesIndexed;
@@ -864,7 +868,8 @@ export default class AddCollectionPane extends ContextualPaneBase {
autoPilotMaxThroughput,
indexingPolicy,
partitionKey,
uniqueKeyPolicy
uniqueKeyPolicy,
createMongoWildcardIndex
};
createCollection(createCollectionParams).then(