Неподдерживаемая опция проецирования: $ concat На Azure CosmosDb - PullRequest
0 голосов
/ 10 октября 2018

У меня есть кодированный запрос Mongoose на локальном хосте, и он работал правильно, но при развертывании на Azure CosmosDb я сталкиваюсь с ошибкой

"message": "{status: 500, message: 'Неподдерживаемая опция проекции: $ concat '

    User.aggregate()
        .project({
            fullname: { $concat: ['$first_name', ' ', '$last_name'] },
            first_name: 1,
            last_name: 1,
            email: 1,
            contact: 1,
            image: 1,
            role: 1,
            isactive: 1
        })
        .match(condition).sort("fullname").skip(startIndex).limit(limit).exec((err, users)=>{
            if (err) return next(err)
            if(users == null)
                return res.status(422).send({header:"User Error", content: "Unable to fetch Users"});
            count = User.countDocuments({isactive: true},(err, count)=>{
                if (err) return next(err)
                if(count == null)
                return res.status(422).send({header:"User Error", content: "User not found"});
                // usersObject = users.map(o => o.toObject());
                usersObject = users;
                usersObject.forEach((user, index) => {
                    usersObject[index].image = '/public/image/user_images/' + user.image;
                });
                return res.send({
                    success:true,
                    msg: {
                        users: usersObject,
                        count
                    }
                });
            });
        });

Пользователь - это модель используемой таблицы пользователей. Определено в схеме

1 Ответ

0 голосов
/ 10 октября 2018

В Azure cosmos Db ---> YourDb ---> (в разделе «Настройки») есть опция предварительного просмотра ----> Включить первые 2 опции 1. Агрегационный конвейер MongoDB включен 2. Проводной протокол MongoDB 3.4 (версия 5) Включено

Screenshot to enable the support for aggregate pipeline

...