Mam kolekcję MongoDB nazywa zmienia który zawiera następujące daneJak przekonwertować kwerendy agregacji MongoDB do laravel MongoDB przez 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"
}
Następnie chcę zrobić typowe zapytanie SQL, który zlicza wystąpienia i grupę go field
. Więc stworzyłem kwerendę w MongoDB
db.changes.group({
"key": {
"field": true
},
"initial": {
"count": 0,
},
"reduce": function(obj, prev) {
prev.count++;
},
});
To działa dobrze, ale jaki sposób można przekonwertować go do prac z laravel 4? Używam jenssegers/laravel-mongodb do komunikowania się z serwerem Mongo.
Ponadto mam więcej warunków w zapytaniu, które usunąłem, aby moje pytanie wyglądało jaśniej, więc szukam rozwiązania, które umożliwiłoby konwersję dokładnie tego zapytania na laravel, a nie inne możliwe rozwiązania :).
OK, działa świetnie, ale jest jedna wada. Muszę obliczyć wszystko w pewnym okresie czasu (w ciągu ostatniego tygodnia i ostatniego miesiąca). Nie chcę uruchamiać 2 zapytań, podczas gdy ja mogę je utworzyć. Załączam moje pierwotne zapytanie. Jak mogę uruchomić funkcję redukcji niestandardowej w twoim przykładzie? –
@estshy To naprawdę nie jest dobry pomysł, aby zmienić swoje pytanie tak, jak masz. Jest to bardzo mylące dla osób, które przychodzą i widzą, że udzielone odpowiedzi nie pasują do tego, o co prosisz. Jeśli opublikujesz kolejne pytanie, będę tak, jak inni chętnie odpowiedzą. Ogólny przypadek tutaj to jedno pytanie jedna odpowiedź. Mogę odpowiedzieć na twoje dodatkowe pytanie, ale powinno to być zupełnie inne pytanie. Opublikuj go osobno. –