Компания, с которой я сейчас работаю, использует как mongoDB, так и SQL. Хотя информация в реальном времени хранится в MongoDB. Я знаю основную c SQL для написания операторов выбора для целей отчетности и мониторинга, но не знаю о MongoDB.
У меня есть следующий запрос SQL -
select outletid, date(orderDate - interval weekday(orderdate) day) as WeekStart, status, count(status) from ordersummary where orderDate BETWEEN (CURDATE() - INTERVAL 28 DAY) AND (CURDATE()- interval 1 day) group by 1,2,3
Здесь "WeekStart" дает дату понедельника недели "orderdate", а условие Where - это данные за последние 28 дней. Он группирует результат по идентификатору розетки, началу недели и статусу и дает мне количество статусов для этого идентификатора точки за эту неделю для этого статуса. Результат выглядит следующим образом:
введите здесь описание изображения
Теперь мне нужен точно такой же результат, но от mongoDB, я не знаю, как это сделать. ниже приведен образец записи из mongoDB, откуда я хочу его получить -
{
"_id" : ObjectId("5d57ad3a0fc7036b20565036"),
"outletLocation" : {
"lng" : 78.365997,
"lat" : 17.459716
},
"orderNum" : "1",
"locality" : "",
"creationDate" : ISODate("2019-08-17T13:01:06.510+05:30"),
"rated" : false,
"outletId" : "5b492150-b9d6-11e9-85ec-077ec74e3435",
"outletName" : "Kolkatta Rolls",
"prepTime" : "15",
"scheme" : "regular",
"deliveryInfo" : {
"transactionId" : "",
"distance" : 6.2,
"eta" : {
"pickup" : 0,
"dropoff" : 0
},
"state" : "delivered",
"categoryId" : "pickup_drop",
"estimatedPrice" : 155,
"provider" : null
},
"items" : [
{
"itemId" : "e920d130-b9d7-11e9-9541-4d5f38dd61c1",
"name" : "Veg Pakodas",
"quantity" : 2,
"isVeg" : true,
"gst" : 5,
"price" : 75,
"addons" : []
}
],
"offer" : {
"value" : 37.5,
"promoId" : "cb8f5130-c0bd-11e9-b2b6-791f2050dad4"
},
"billing" : {
"laalsaCharge" : 2,
"subTotal" : 112.5,
"charges" : [
{
"name" : "deliveryCharge",
"value" : "10.0"
},
{
"name" : "packingCharges",
"value" : "0.0"
},
{
"name" : "surgeCharges",
"value" : "0.0"
}
],
"discount" : 37.5,
"roundOff" : 0,
"taxes" : [
{
"name" : "cgst",
"value" : "2.81"
},
{
"name" : "sgst",
"value" : "2.81"
}
],
"totalAmount" : 128.12
},
"orderId" : "f9861a80-c0c0-11e9-9ff2-3ddfa5807478",
"specialInstructions" : "",
"status" : [
{
"date" : ISODate("2019-08-17T13:01:06.510+05:30"),
"source" : "suggestions",
"value" : "inPayment"
},
{
"date" : ISODate("2019-08-17T18:27:18.528+05:30"),
"value" : "complete",
"source" : "delivery"
}
],
"userId" : "c5a92930-beb0-11e9-b268-47fcdfd8fd18",
"__v" : 0
}
Здесь много полей, которые мне не нужны, просто вставьте все сюда .. Пожалуйста help?
Если бы я мог получить для этого команду / запрос mon go, я мог бы использовать ее, чтобы самому выяснить многие другие похожие ...
Спасибо!