2016-04-12 8 views
0
for element in self.table1.find({'ji': {'$ne': ""}}): 
    gongLiNian = int(element['gongLiNian']) 
    gongLiNianScope = [str(gongLiNian-1), str(gongLiNian), str(gongLiNian+1)] 
    res = self.table2.find_one({'guanZhi' : element['guanZhi'], 
          'gongLiNian' : {'$in', gongLiNianScope}, 
           'name' : element['name']}) 

は、ここでのエラーは次のとおりです。

Traceback (most recent call last): 
    File "C:\Users\elqstux\Desktop\study\History\oneJi.py", line 172, in <module> 
    oneJi.run() 
    File "C:\Users\elqstux\Desktop\study\History\oneJi.py", line 158, in run 
    res1 = self.step1() 
    File "C:\Users\elqstux\Desktop\study\History\oneJi.py", line 44, in step1 
    'gongLiNian' : {'$in', gongLiNianScope}, 
TypeError: unhashable type: 'list' 

しかし、私はあなたが私にいくつかのアドバイスを与えるerror.Couldから任意の手掛かりを見つけることができませんか?

{'$in', gongLiNianScope} 

セットを初期化するために、あなたがセットにのみハッシュ可能データ型を置くことができる構文は次のとおりです。

答えて

1

は、ここにカンマを参照してください。

{'$in': gongLiNianScope} 

代わりに、あなたは辞書を持っているためのもの

関連する問題