Docs Menu
Docs Home
/ /
MongoDB Command Line Interface
/ / / /

mongocli atlas cluster onlinearchive create

On this page

  • Syntax
  • Options
  • Output
  • Examples

Note

Beta

Online archive is available as a Beta feature. The feature and the corresponding documentation may change at any time during the Beta stage.

The onlinearchive create command creates an online archive for the specified collection in the M10 or higher cluster. You can also create an online archive through the Atlas UI or API.

mongocli atlas cluster onlinearchive create
--archiveAfter <number-of-days>
--clusterName <cluster-name>
--collection <collection-name>
--dateField <date-field-name>
--db <database-name>
[ --output|-o <output-format> ]
--partition <partition-field-names>
[ --profile|-P <profile-name> ]
[ --projectId <project-ID> ]
Option
Type
Description
Required?
--archiveAfter
int
Number of days after which to archive cluster data.
yes
--clusterName
string
Name of the cluster.
yes
--collection
string
Name of the collection for which to create an online archive.
yes
--dateField
string
Name of an already indexed date field from the documents.
yes
--db
string
Name of the database that contains the collection.
yes
--output, -o
string

Command output format. Valid values are:

  • json for output in JSON format

  • go-template for custom output using the Go template

  • go-template-file for custom output specified using Go template file

If omitted, the command returns output in the default format.

no
partition
string

Name of the fields to use to partition data. You can specify up to two frequently queried fields, separated by a comma, in the following format: <field-name>:<data-type>. The order in which the fields are specified defines the position of the field in the partition. That is:

  • The first field has the first position (0) in the partition.

  • The second field has the second position (1) in the partition.

The data type must match the data type of the field in the documents.

no
--profile, -P
string
Name of the profile where the public and private keys for the project are saved. If omitted, uses the default profile. To learn more about creating a profile, see Configure the MongoDB CLI.
no
--projectId
string

Unique identifier of the project. If omitted, uses the project ID in the profile or environment variable.

no

The command prints the following fields in the specified format to the terminal if the command succeeds. If the command prints an error, see Troubleshooting for recommended solutions.

Field
Type
Description
clusterName
string
Name of the cluster that contains the collection.
collName
string
Name of the collection.
criteria
document
Criteria to use for archiving data.
criteria.dateField
string
Name of the date field that the online archive is based on. Data is archived when the current date is greater than the value of the date field plus the number of days specified via the archiveAfter option.
criteria.expireAfterDays
int
Number of days after which to archive data as specified using the archiveAfter option. Data is archived when the current date is greater than the value of the date field specified via the dateField option plus the number of days specified here.
dbName
string
Name of the database that contains the collection.
groupId
string
Unique identifier of the project that contains the cluster.
partitionFields
array of documents
Fields to use to partition data.
partitionFields.fieldName
string
Name of the field.
partitionFields.fieldType
string
Data type of the field.
partitionFields.order
int

Position of the field in the partition. Value can be:

  • 0 - for the first position

  • 1 - for the second position

  • 2 - for the third position

paused
boolean

Whether or not the online archive is paused. Value is:

  • true if the online archive is in paused state.

  • false if the online archive is in pending or active state.

state
string

State of the online archive. Value can be:

  • PENDING - Indicates archiving has not yet started. In this state, documents queued for archiving are still on your active Atlas cluster, but cannot be modified.

  • ACTIVE - Indicates archiving has started. In this state, the documents that meet the criteria for archiving are archived or are being archived.

  • PAUSED - Indicates archiving has been temporarily stopped. In this state, previously archived documents continue to be available on S3, but archiving operation on active cluster is on hold. You can resume archiving for paused archives at any time.

  • DELETED - Indicates online archive was deleted. When you delete an online archive, associated archived documents are removed from the S3 buckets.

The following examples show two ways to create an online archive using the mongocli atlas onlinearchive create command. The Basic Example shows how to create an online archive without additional partition fields and the Partitions Example shows how to create an online archive with partitions.

The following mongocli atlas onlinearchive create command creates an online archive for the sample_mflix.movies collection in a cluster named myTestCluster using the default profile. The criteria for archiving data indicates that data should be archived when the current date is greater than the value of the dateField option plus the number of days specified through the archiveAfter option.

mongocli atlas cluster onlineArchive create --clusterName myTestCluster --db sample_mflix --collection movies --dateField released --archiveAfter 2 --output json

The previous command prints the following fields in the specified format to the terminal. To learn more about these fields, see Output.

{
"_id": "5f1726ca460fd352106557c2",
"clusterName": "myTestCluster",
"collName": "movies",
"criteria": {
"dateField": "released",
"expireAfterDays": 2
},
"dbName": "sample_mflix",
"groupId": "5e2211c17a3e5a48f5497de3",
"paused": false,
"state": "PENDING"
}

The following mongocli atlas onlinearchive create command creates an online archive for the sample_mflix.movies collection in a cluster named myTestCluster using a profile named egAtlasProfile. Data is partitioned based on the title field, year field, and released field from the documents in the collection. The criteria for archiving data indicates that data should be archived when the current date is greater than the value of the dateField option plus the number of days specified through the archiveAfter option.

mongocli atlas cluster onlineArchive create --clusterName myTestCluster --db sample_mflix --collection movies --dateField released --archiveAfter 2 --partition title:string,year:int --output json -P egAtlasProfile

The previous command prints the following fields in the specified format to the terminal. To learn more about these fields, see Output.

{
"_id": "5f173012a22aa23d58a8b2f0",
"clusterName": "myTestCluster",
"collName": "movies",
"criteria": {
"dateField": "released",
"expireAfterDays": 2
},
"dbName": "sample_mflix",
"groupId": "5e2211c17a3e5a48f5497de3",
"partitionFields": [
{
"fieldName": "title",
"fieldType": "string",
"order": 0
},
{
"fieldName": "year",
"fieldType": "number",
"order": 1
},
{
"fieldName": "released",
"fieldType": "date",
"order": 2
}
],
"paused": false,
"state": "PENDING"
}

Back

Describe an Online Archive