Проблема в том, что ваш запрос определен как:
({"priority" : self.priority}, {'td': 1, '_id':0}))
, поэтому, когда ваша функция получает его в качестве входных данных, она анализируется как:
return Database.DATABASE[collection].find(({"priority" : self.priority}, {'td': 1, '_id':0})))
По сути, есть дополнительная пара скобок, которыедолжны быть удалены.
Решение макета: (очевидно, есть несколько способов решить эту проблему)
Database.initialize()
db_data = Database.find(collection = 'notes_temp',
query = {"priority" : self.priority}, projection = {'td': 1, '_id':0})
for task in db_data:
self.t.insert('insert linestart', task)
class Database:
URI = "mongodb://127.0.0.1:27017"
DATABASE = None
@staticmethod
def initialize():
client = pymongo.MongoClient(Database.URI)
Database.DATABASE = client['notes']
@staticmethod
def find(collection, query, projection):
return Database.DATABASE[collection].find(query, projection)