|
![]() |
#1 |
Wait, What?
Qualified
Datum učlanjenja: 21.03.2010
Poruke: 148
Hvala: 8
188 "Hvala" u 14 poruka
![]() ![]() |
![]() Izgleda da meni mongodb nece moci uraditi to sto mi treba....
Situacija, belezim ip posetioca, preko kojeg referrala je dosao, kad je dosao i dal je prvi put a ako nije koliko je puta dosao u 24H UPSERT ovde pada jer sta ako je IP isti ali drugi reff i sl.. u prevodu nikad nemam 100% iste podatke(teoretski a u praksi imam) Ok ajd to nije problem, raspodelim ja u vise collection-a U jednoj zapisujem samo IP i referral i koliko je puta posetio stranicu, a u drugi colection belezim ostale podatke... ALI tu nastaje drugi problem, kako da znam dal je uradio update ili insert... P.S ne mogu da IP ili referral stavim UNIQE jer dolazim na ono staro..sta ako je vec ip bio a reff nije isti...
__________________
Svakog dana uvlacim linije pa misle da se drogiram. Poslednja izmena od squirll : 22. 12. 2011. u 21:47. |
![]() |
![]() |
![]() |
#2 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
![]() ![]() |
![]() Ne znam sto bi morao da upisujes koliko je puta dosao u 24h.
Moj predlog ti je da sve posete "trpas" u collection, a da jedan script iz crona svakih xx minuta radi obradu tih podataka i snima statistiku u drugi collection.
__________________
Năo quero mais seguir um só caminho |
![]() |
![]() |
![]() |
#3 |
Ivan Dilber
Sir Write-a-Lot
|
![]() Mislim da je problem u tvojoj logici, da bi to trebalo da radis ovako:
Kôd:
db.test.log.update( {ip: '12.34.56.70'}, // ovo je uslov za update: WHERE IP=neki_ip { // ovo su akcije koje treba uraditi: $inc: {counter:1}, // inkrementuj counter $set:{nesto:'abc', ip: '12.34.56.70'}, // setuj vrednost ovih polja, stavis tu sva polja koja treba setovati $addToSet: {ref: 'http://blabla.com'} // u niz ref dodaj vrednost referera }, true // ovo je upsert flag, true znaci da ukoliko ne nadje record uradi insert ); Pogledaj obavezno dokumentaciju za UPDATE na MongoDB sajtu, tamo sve ovo pise... imas tamo objasnjeno i kako da proveris da li se desio update() ili insert() prilikom upserta, tako da samo RTFM ![]()
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 23. 12. 2011. u 01:59. |
![]() |
![]() |
![]() |
#4 |
član
Certified
Datum učlanjenja: 03.10.2006
Poruke: 96
Hvala: 27
44 "Hvala" u 26 poruka
![]() |
![]() @squirll A jel postoji neki razlog zasto ne mozes da koristis cookie umesto IP-ja?
Elem mongo ce ti ako se ne varam matchovati i po vise kriterujama pa mozes u drugu liniju koda koji je ivanhoe napisao da ubacis i affiliate/refferal/kao kriterijum i onda ce upsert raditi samo ako se oba poklapaju. |
![]() |
![]() |
![]() |
#5 |
Wait, What?
Qualified
Datum učlanjenja: 21.03.2010
Poruke: 148
Hvala: 8
188 "Hvala" u 14 poruka
![]() ![]() |
![]() nisam pisao neko vreme jer nisam hteo biti dosadan
![]() A za cookies, da koristicu i cookie ali mora i IP ... nije to samo sto sam ja ovde napisao, mnogo du stvari se racuna/pamti/pise i moram sto vise podataka o korisniku da imam...
__________________
Svakog dana uvlacim linije pa misle da se drogiram. |
![]() |
![]() |
![]() |
|
|