[問題] 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