[问题] Django 抓取mongodb问题

楼主: sutekidesune (喵的~~喵咪)   2017-12-12 17:13:58
小弟最近开始研究Django
这一两天遇到个问题上网查不到解决方式
想请问有没有人知道该如何解决
因为mongodb可以直接存Json的资料
但是存入mongodb之后不知道如何直接抓取底下资料
{
"_id" : ObjectId("5a1b6d4a4e383757faca9799"),
"gender" : "male",
"userinfo" : {
"year" : "35",
"phone" : "123",
"address" : "xxxxxx",
}
}
例如我的资料表长的像以上这样
然后我下指令
m = userdata.objects.filter( gender='male').distinct('userinfo','year')
想将userinfo底下的year去除重复值
但是distinct('userinfo','year')这样是不对的
上网查半天也找不到方式解决
想请问这该如何解决
以及gender='male' 如果想改查询 userinfo:year的话
该如何修改?
希望有人可以帮忙一下,谢谢QQ
================
感谢推文两位的帮忙
今天我改用Pymongo就可以解决了
顺便附上解决方式方便以后有人有同样问题可以查询
client = pymongo.MongoClient('host',port)
db = client.test
collection = db.testdb
a = collection.find({'gender':'male'}).distinct('userinfo.year')
作者: TitanEric (泰坦)   2017-12-12 17:17:00
我觉得可以用pymongo直接用耶 不一定要用Django提供的方式如果要用Django提供的 用ObjectID找会比较好
作者: phoenixcx (曼秀雷敦)   2017-12-12 18:02:00
我只会pymongo find({"userinfo.year"}) 这样应该可以刚好在学一点东西 goo.gl/kXGXYP
作者: extraymond (extraymond)   2017-12-18 19:55:00
pymongo加aggregate很方便

Links booklink

Contact Us: admin [ a t ] ucptt.com