| 123456789101112131415161718192021222324252627282930313233343536 |
- import Helpers from './lib/helpers.mjs'
- const tags = ['saas']
- // Partial indexes so docs without a given match token are not indexed. They
- // back the batch duplicate-detection query in findMatchingReferences.
- const newIndexes = [
- {
- key: { userId: 1, 'matchTokens.doi': 1 },
- name: 'userId_1_matchTokens.doi_1',
- partialFilterExpression: { 'matchTokens.doi': { $exists: true } },
- },
- {
- key: { userId: 1, 'matchTokens.authorTitleYear': 1 },
- name: 'userId_1_matchTokens.authorTitleYear_1',
- partialFilterExpression: {
- 'matchTokens.authorTitleYear': { $exists: true },
- },
- },
- ]
- const migrate = async client => {
- const { db } = client
- await Helpers.addIndexesToCollection(db.libraryReferences, newIndexes)
- }
- const rollback = async client => {
- const { db } = client
- await Helpers.dropIndexesFromCollection(db.libraryReferences, newIndexes)
- }
- export default {
- tags,
- migrate,
- rollback,
- }
|