Find Jobs
Hire Freelancers

Create query to be used in mongoengine to query results by date in dictfield inside listfield

$10-30 USD

Slutfört
Publicerad över fem år sedan

$10-30 USD

Betalning vid leverans
Hi! This project is about a query to get results by date using mongoengine over mongodb to filter results by month, year and month and age So, I have a model in Mongoengine class Contact([login to view URL]): name = [login to view URL](max_length=255, verbose_name=_(u'Name')) email = [login to view URL](verbose_name=_(u'E-mail')) customs = [login to view URL]([login to view URL]()) In field customs I will a list of dictionaries like that: [login to view URL] = [{'k':'phone','v':'444-444-444'},{'birth_date':[login to view URL](1980,6,1)] I will have a lot of register with differents birth dates, but one date for each person. So I would like to do: 1 - Create a query that I can get all person that has birth day in a specific month 2 - Create a query that I can get any person that borns in a single year 3 - Create a query that I can get all persons that is under 18 year old What I will not accepet, query in mongodb and pymongo. I want a query using mongoengine running over python/Django, compatible with python 2.7 and Django 1.4 Let's game begins!
Project ID: 18033515

Om projektet

3 anbud
Distansprojekt
Senaste aktivitet fem år sedan

Ute efter att tjäna lite pengar?

Fördelar med att lägga anbud hos Freelancer

Ange budget och tidsram
Få betalt för ditt arbete
Beskriv ditt förslag
Det är gratis att registrera sig och att lägga anbud på uppdrag
Tilldelad till:
Använd avatar
Hi. After some research I find that: a) In your example "birth_date" is a [login to view URL] object, but this should be a [login to view URL] object, since MongoDB (BSON) don't have a type for date without time. Trying to store a date object in MongoDB results in an error saying date object cannot be encoded. b) Queries like [login to view URL](customs__birth_date__gte=[login to view URL](2010, 1, 1)) works (honestly I have no idea why this would work but sure it is as I tested). So: [login to view URL]( customs__birth_date__gte=[login to view URL](2010, 1, 1), customs__birth_date__lt=[login to view URL](2011, 1, 1), ) gives you all people with birth date greater than or equal to 20100101 and less than 20110101, which is exactly all people with birth year 2010. The same technique can be used to find out all people whose age is under 18: just filter birth date greater than [current date - 18 years]. So your requests (2) and (3) are fulfilled. c) Your request (1) is harder than it seems. This cannot be done by normal queries, but can be done using aggregations, since aggregation mechanism provides "$month" operator to extract month from a date. I haven't figure out how to do it yet, but it is possible. Please contact me if you want me to do more research and finish this for you. Thanks.
$30 USD Om 1 dag
5,0 (1 omdöme)
1,0
1,0
3 frilansar lägger i genomsnitt anbud på $55 USD för detta uppdrag
Använd avatar
Hi, It's a great pleasure to see a job post related Django and MongoDB. Which is really rear Though most of the developer uses only relation database like MySql or PostgreSQL i am one of those wo use both relation and noSql. Looking at your query based requirements I hope i can help you here with my experience, Knock me to discusses more Regards
$111 USD Om 3 dagar
4,9 (17 omdömen)
4,3
4,3
Använd avatar
Hi, I'd like to help you out with your project because I could say I understand what you're looking for with this script. if you're interested in my bid, send me a message and we could sort terms. best regards!
$25 USD Om 2 dagar
4,8 (5 omdömen)
2,3
2,3

Om kunden

Flagga för BRAZIL
Rio de Janeiro, Brazil
0,0
0
Verifierad betalningsmetod
Medlem sedan sep. 21, 2014

Kundverifikation

Tack! Vi har skickat en länk för aktivering av gratis kredit.
Något gick fel med ditt e-postmeddelande. Vänligen försök igen.
Registrerade Användare Totalt antal jobb publicerade
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Laddar förhandsgranskning
Tillstånd beviljat för geolokalisering.
Din inloggningssession har löpt ut och du har blivit utloggad. Logga in igen.