Служба Azure mongo в качестве базы данных в настоящее время находится в предварительном просмотре. У меня был аналогичный случай с другим запросом, и поддержка Azure сообщила мне, что все запросы еще не поддерживаются. Вот почему у вас могут быть некоторые запросы, которые отлично работают с «чистым» экземпляром mongoDB .
В моем случае, например, я обнаруживаю что элемент $ elemMatch не работает.
db.users_collections.find({
"_id": "1"
},
{
"devices": {
"$elemMatch": {
"device_id": "device_id"
}
}
})
Поддержка ответила мне это следующий ответ:
К сожалению, мы не имеем возможность проецировать определенные элементы из массива прямо сейчас. Мы также работаем над поддержкой $ elemMatch на этапе проекта, и он должен быть доступен к середине марта.
Вы должны понимать, что Монго как сервис на Azure является своего рода обертку, чтобы позволить использовать протоколы MongoDB, чтобы взаимодействовать с их технологии NoSQL: DocumentDB, к тому же, как я уже говорил в начале моего ответа эта функция все еще в предварительном просмотре. Это также объясняет, почему, например, вы не можете использовать Монго компаса на Лазурной службе Монго:
Как DocumentDB это полностью управляемый сервис, мы не поддерживаем работу машины управления/администрирования (например, addShard perfCounters/запрос/Память запроса & Соединения) через MongoDB api. Из нашего исследования MongoCompass полагается на эти команды для нормального потока и не работает, если какая-либо из этих команд терпит неудачу (даже если нормальная crud api преуспевает). Я бы рекомендовал использовать RoboMongo, который является инструментом с открытым исходным кодом для взаимодействия с Монго APIs
Итак, если вы хотите, чтобы сохранить преимущество, чтобы иметь полностью управляемый сервис, который работает с MongoDB API, вы должны подождать, пока производство (в середине марта по поддержке) или найти другой способ выполнить этот запрос.
Пожалуйста, прочтите http://stackoverflow.com/help/how-to-ask. Покажите нам запрос. –
Где мне нужно форматировать? –
Ошибка говорит «неправильный синтаксис», мы не можем вам помочь, если вы не показываете нам сделанный запрос и где синтаксическая ошибка. –