Я пробовал запрос ниже, но по какой-то причине я получаю Unknown server error occurred when processing this request
. Я немного новичок в mongodb, но при чтении документации для оболочки Mongodb и CosmosDB все перечисленные операторы поддерживаются, и это выглядит синтаксически правильным.
db.getCollection('transactions').aggregate(
[
{
$match:{
bdr_date: 20181031,
make: { $exists: false },
shard_key: '1249_2018-10',
time: { $gt: 2344 }
}
},
{
$group: {
total_sales: {
$sum: {
$multiply: [
"$sales",
"$units"
]
}
}
}
}
]
)
My CosmosDB использует MongoAPI и содержит одну коллекцию с именем transactions
с документами, которые имеют много ключей, но вот важные:
{
"bdr_date" : INT(32),
"time" : INT(32),
"sales" : Double,
"units" : INT(32),
"shard_key" : String
}
В некоторых документах также есть ключ { "make": INT(32) }
, где у нас был скрипт, заполняющий дыры в данных. Мне нужны были только документы с реальными данными, поэтому я отфильтровал документы с помощью клавиши "make"
. bdr_date
в формате yyyymmdd
и time
в формате HHMM
.
Код ошибки на самом деле не говорит ничего другого, кроме исключения ошибки неизвестного сервера, поэтому я довольно озадачен тем, что именно я делаю неправильно. Есть что-то простое, что мне не хватает?
Если вам нужна дополнительная информация, я сделаю все возможное, чтобы удовлетворить. Я ценю помощь!