ho raccolta MongoDB chiamato cambia che contiene i seguenti datiCome convertire MongoDB interrogazione aggregazione laravel MongoDB da jenssegers
{
"date" : ISODate("2014-06-09T00:00:00.000Z"),
"field" : "ip",
"from" : "157.11.209.123",
"to" : "107.21.109.254"
}
{
"date" : ISODate("2014-05-15T00:00:00.000Z"),
"field" : "ip",
"from" : "107.21.109.254",
"to" : "157.11.209.123"
}
{
"date" : ISODate("2014-06-09T00:00:00.000Z"),
"field" : "registration",
"from" : "Old service",
"to" : "Some new service"
}
Poi voglio fare domanda tipica di SQL che conta avvenimenti e di gruppo che da field
. Così, ho creato query in MongoDB
db.changes.group({
"key": {
"field": true
},
"initial": {
"count": 0,
},
"reduce": function(obj, prev) {
prev.count++;
},
});
Funziona bene, ma come posso convertirlo in opere con laravel 4? Sto usando jenssegers/laravel-mongodb per comunicare con il server mongo.
Inoltre, ho più condizioni nella query, che ho rimosso per rendere più chiara la mia domanda, quindi sto cercando una soluzione per convertire esattamente quella query in laravel, non altre possibili soluzioni :).
Ok, funziona benissimo, ma è possibile uno svantaggio. Devo calcolare tutto in un certo periodo di tempo (entro la settimana scorsa e il mese scorso). Non voglio eseguire 2 query, mentre posso crearne una. Ho allegato la mia query originale. Come posso eseguire la funzione di riduzione personalizzata nell'esempio? –
@estshy Non è una buona idea cambiare la tua domanda nel modo in cui hai. È molto fuorviante per le persone che vengono e vedere che le risposte fornite non corrispondono a ciò che hai chiesto. Se pubblichi un'altra domanda sarò come gli altri felici di rispondervi. Il caso generale qui è una domanda una risposta. Posso rispondere alla tua domanda aggiuntiva, ma dovrebbe essere completamente un'altra domanda. Si prega di postarlo separatamente. –