Как изменить класс хранения одного объекта в корзине GCS?

Если я понимаю ваш вопрос, вам нужно отсортировать его в порядке возрастания.

Предполагая, что у вас есть поле id или date, называемое «x», вы бы сделали ...

. sort ()


db.foo.find().sort({x:1});

1 будет сортировать по возрастанию (от старости до новейшего) и -1 будет сортировать нисходящий (самый новый до самого старого.)

Если вы используете авто созданное поле _id имеет встроенную в него дату ... поэтому вы можете использовать это для заказа ...

db.foo.find().sort({_id:1});

Это вернет все ваши документы, отсортированные от самых старых до новейших.

Натуральный порядок


Вы также можете использовать Природный порядок , упомянутый выше ...

db.foo.find().sort({$natural:1});

Опять же, используя 1 или -1 в зависимости от того, какой вы хотите.

Использовать .limit ()


Наконец, рекомендуется применять ограничение при выполнении такого широко открытого запроса, чтобы вы может делать либо ...

db.foo.find().sort({_id:1}).limit(50);

, либо

db.foo.find().sort({$natural:1}).limit(50);

2
задан John 17 January 2019 в 08:38
поделиться

1 ответ

Основываясь на этой документации , я не думаю, что вы можете обновить класс хранилища напрямую с помощью патча или обновления. Вместо этого вам нужно выполнить операцию перезаписи на объекте.

В настоящее время мы не выставляем перезаписи непосредственно в Google.Cloud.Storage.V1, но вы должны иметь возможность использовать базовый сервис:

var obj = new Google.Apis.Storage.v1.Data.Object { StorageClass = "coldline" };
client.Service.Objects.Rewrite(obj, bucketName, objectName, bucketName, objectName).Execute();
0
ответ дан Jon Skeet 17 January 2019 в 08:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: