Find Jobs
Hire Freelancers

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

$10-30 USD

Opravljeno
Objavljeno pred več kot 5 leti

$10-30 USD

Plačilo ob dostavi
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!
ID projekta: 18033515

Več o projektu

3 ponudb
Projekt na daljavo
Aktivno pred 5 leti

Želite zaslužiti?

Prednosti oddajanja ponudb na Freelancerju

Nastavite svoj proračun in časovni okvir
Prejmite plačilo za svoje delo
Povzetek predloga
Registracija in oddajanje ponudb sta brezplačna
Dodeljeno:
Avatar uporabnika
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 v 1 dnevu
5,0 (1 ocena)
1,0
1,0
3 freelancerjev je oddalo ponudbo s povprečno vrednostjo $55 USD za to delo
Avatar uporabnika
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 v 3 dneh
4,9 (17 ocen)
4,3
4,3
Avatar uporabnika
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 v 2 dneh
4,8 (5 ocen)
2,3
2,3

O stranki

Zastava BRAZIL
Rio de Janeiro, Brazil
0,0
0
Plačilna metoda je verificirana
Član(ica) od sep. 21, 2014

Verifikacija stranke

Hvala! Po e-pošti smo vam poslali povezavo za prevzem brezplačnega dobropisa.
Pri pošiljanju vašega e-sporočila je šlo nekaj narobe. Poskusite znova.
Registrirani uporabniki Skupaj objavljenih del
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Nalaganje predogleda
Geolociranje je bilo dovoljeno.
Vaša prijavna seja je potekla, zato ste bili odjavljeni. Prosimo, da se znova prijavite.