作者sutekidesune (喵的~~喵咪)
看板Python
标题[问题] Django 抓取mongodb问题
时间Tue Dec 12 17:13:58 2017
小弟最近开始研究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')
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 104.196.56.190
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1513070041.A.EC2.html
1F:推 TitanEric: 我觉得可以用pymongo直接用耶 不一定要用Django提供的 12/12 17:17
2F:→ TitanEric: 方式 12/12 17:17
3F:→ TitanEric: 如果要用Django提供的 用ObjectID找会比较好 12/12 17:19
4F:推 phoenixcx: 我只会pymongo find({"userinfo.year"}) 这样应该可以 12/12 18:02
5F:推 phoenixcx: 刚好在学一点东西 goo.gl/kXGXYP 12/12 18:10
※ 编辑: sutekidesune (14.221.118.234), 12/13/2017 11:18:44
6F:推 extraymond: pymongo加aggregate很方便 12/18 19:55