FeathersJS создает составной индекс для коллекции

Есть ли способ с помощью службы FeathersJS для создания составного индекса для базы данных MongoDB?

1 ответ

Найдите место, где вы создаете клиент MongoDB. Если вы использовали генератор FeatherJS, то он, вероятно, находится на уровне src/mongodb.js. В результате обещания, где клиент уже доступен, — получить коллекцию и добавить индексы:

      // src/app.ts
import mongodb from './mongodb';
...
app.configure(mongodb);
...



// src/mongodb.ts
export default function (app: Application): void {
  const connection = app.get(`mongodb`);
  const database = connection.substr(connection.lastIndexOf(`/`) + 1);
  const mongoClient:Promise<Db> = MongoClient.connect(connection, {
    useNewUrlParser: true, useUnifiedTopology: true
  }).then((client:MongoClient) => {
    const db:Db = client.db(database);
    try {
      db.collection(`users`).createIndex({ name: 1 });
    } catch(error:any) {
      console.error(`mongodb: failed to created indexes, error: `, error);
    }
    return db;
  });

  app.set(`mongoClient`, mongoClient);
}
Другие вопросы по тегам