我正在学习烧瓶,因为趋势是第一个应用教授的应用程序,所以我实现了一个数据库类来实现pymongo api的各种方法。已经在类中定义了各种方法,如Implementation of Database Class and Query Outputs of find_one() method所示。创建的所有其他方法都运行良好,但面对 find_one(集合,查询)的问题,无论数据库是否有条目,它始终都不返回任何值。但是,API的预定义方法返回正确的数据。我在哪里做错了?
import pymongo
class Database:
URI = 'mongodb://127.0.0.1:27017'
DATABASE = None
@staticmethod
def initialize():
client = pymongo.MongoClient(Database.URI)
Database.DATABASE = client['BBloger']
@staticmethod
def insert(collection, data):
Database.DATABASE[collection].insert(data)
@staticmethod
def remove(collection, query):
Database.DATABASE[collection].remove(query)
@staticmethod
def find(collection, query):
Database.DATABASE[collection].find(query)
@staticmethod
def find_one(collection, query):
Database.DATABASE[collection].find_one(query)
我正在使用 Flask 的版本 0.12.2 方法和 3.6.0 版本的 PyMongo
答案 0 :(得分:0)
查询已解决,我忘了默认情况下任何python方法返回None值,我得到的是输出。修改后的代码将是:
import pymongo
class Database:
URI = 'mongodb://127.0.0.1:27017'
DATABASE = None
@staticmethod
def initialize():
client = pymongo.MongoClient(Database.URI)
Database.DATABASE = client['BBloger']
@staticmethod
def insert(collection, data):
Database.DATABASE[collection].insert(data)
@staticmethod
def remove(collection, query):
Database.DATABASE[collection].remove(query)
@staticmethod
def find(collection, query):
return Database.DATABASE[collection].find(query)
@staticmethod
def find_one(collection, query):
return Database.DATABASE[collection].find_one(query)