2014-01-21 2 views
0

Я пытаюсь использовать колбовую MongoKit следующим образом (с обеими попытками find_one неудачи):Колба-MongoKit find_one()

app = Flask('app-name') 

db = MongoKit(app) 

db.register([database.Users]) 

with app.app_context(): 
    print db['users'].find_one() 
    print db.Users.find_one() 

Когда я использовал обычную MongoKit (не Колба версию), и это (как указано ниже)

db = Connection() 

db.register([database.Users]) 
print db.Users.find_one() 

Спасибо!

EDIT:

База данных и сбора определяются следующим образом.

class Users(Document): 
    __collection__ = 'users' 
    __database__ = 'database' 
+0

Что вы подразумеваете под словом «failing»? Вы получаете сообщение об ошибке? Можете ли вы поделиться трассировкой? – dirn

+0

Он не возвращает ни одного для первого примера и фактический результат для второго примера. – Jacob

+0

Вы уверены, что используете одну базу данных? Откуда берется «база данных»? Это модуль, который вы где-то импортируете? – dirn

ответ

0

Колба-MongoKit не использует значение MongoKit в __database__. Вместо этого он использует настройку конфигурации приложения с именем MONGODB_DATABASE. Если это не задано, по умолчанию используется база данных с именем flask. Если вы измените код

app = Flask('app-name') 
app.config['MONGODB_DATABASE'] = 'database' 
db = MongoKit(app) 

звонков в find_one() должен работать.

Относительные биты можно найти here и here.

Смежные вопросы