convert-revision-page-id-to-string.ts 829 B

1234567891011121314151617181920212223242526272829
  1. // see: https://redmine.weseek.co.jp/issues/150649
  2. import { type IRevisionHasId } from '@growi/core';
  3. import mongoose from 'mongoose';
  4. import { type IRevisionModel } from '~/server/models/revision';
  5. import loggerFactory from '~/utils/logger';
  6. const logger = loggerFactory('growi:service:NormalizeData:convert-revision-page-id-to-string');
  7. export const convertRevisionPageIdToString = async(): Promise<void> => {
  8. const Revision = mongoose.model<IRevisionHasId, IRevisionModel>('Revision');
  9. const filter = { pageId: { $type: 'objectId' } };
  10. const update = [
  11. {
  12. $set: {
  13. pageId: {
  14. $toString: '$pageId',
  15. },
  16. },
  17. },
  18. ];
  19. await Revision.updateMany(filter, update);
  20. const explain = await Revision.updateMany(filter, update).explain('queryPlanner');
  21. logger.debug(explain);
  22. };