title: pymongo error: filter must be an instance of dict, bson.son.SON, or other type that inherits from collections.Mapping
body: <p>I think the query is correct but still an error. </p>
  
  <pre><code>    findQ = {"fromid": wordid}, {"toid":1}        
      res= self.db.wordhidden.find(findQ)
  </code></pre>
  
  <p>However, find_one(findQ) works. So I can't find the wrong thing.
  I use python 3.6 and pymongo.
  Here is my code: </p>
  
  <pre><code> def getallhiddenids(self,wordids,urlids):
    l1={}
    for wordid in wordids:
      findQ = {"fromid": wordid}, {"toid":1}
      res= self.db.wordhidden.find(findQ)
      for row in res: l1[row[0]]=1
    for urlid in urlids:
      findQ = {"toid": urlid}, {"fromid":1}
      res= self.db.hiddenurl.find(findQ)
  </code></pre>
  
  <p>This is an error:</p>
  
  <pre><code>    Traceback (most recent call last):
      File "C:\Users\green\Desktop\example.py", line 9, in &lt;module&gt;
      neuralnet.trainquery([online], possible, notspam)
    File "C:\Users\green\Desktop\nn.py", line 177, in trainquery
      self.setupnetwork(wordids,urlids)
    File "C:\Users\green\Desktop\nn.py", line 105, in setupnetwork
      self.hiddenids=self.getallhiddenids(wordids,urlids)
    File "C:\Users\green\Desktop\nn.py", line 93, in getallhiddenids
      res= self.db.wordhidden.find(findQ)
    File "C:\Users\green\AppData\Local\Programs\Python\Python36-32\lib\site-
  packages\pymongo\collection.py", line 1279, in find
      return Cursor(self, *args, **kwargs)
    File "C:\Users\green\AppData\Local\Programs\Python\Python36-32\lib\site-
  packages\pymongo\cursor.py", line 128, in __init__
      validate_is_mapping("filter", spec)
    File "C:\Users\green\AppData\Local\Programs\Python\Python36-32\lib\site-
  packages\pymongo\common.py", line 400, in validate_is_mapping
      "collections.Mapping" % (option,))
  TypeError: filter must be an instance of dict, bson.son.SON, or other type 
  that inherits from collections.Mapping
  </code></pre>