Как использовать расширенные операторы MongoDB в Loopback 4?

Я работаю с loopback v4, и мне нужно использовать расширенный оператор MongoDB $unset. В документации по коннектору MongoDB косвенно указано, что его можно использовать (см. здесь), но я не могу найти ни одного примера / документации о том, как его использовать в моем репозитории, есть ли у вас какие-либо подсказки?


person sertal70    schedule 05.09.2019    source источник


Ответы (1)


Согласно документации, вам нужно сначала изменить настройки в DataSource.

xxx.datasource.ts

export class XxxDataSource extends juggler.DataSource {
    static dataSourceName = '...';

    constructor() {
        super({
            "name": "...",
            "connector": "mongodb",
            "url": "...",
            "database": "...",
            "allowExtendedOperators": true // <= !!!! default is false
        });
    }
}

xxx.controller.ts

return await this.xxxRepository.updateById(
    "....id....",
    {
        $unset: {
            test: ""
        }
    } as any // <= !!!! you can using `$unset` now, add `as any` to avoid type error
)

person Zhikai Xiong    schedule 06.09.2019
comment
Спасибо за ответ @Zhikai Xiong! На самом деле я уже включил расширенный оператор в своем подключении к источнику данных, но я застрял на updateById(), потому что я пропустил as any, чтобы разрешить компиляцию ts! - person sertal70; 11.09.2019